Frame02 初始化

启动流程

主要参照的依旧是BDframe,但是很多功能不需要会进行适当精简
而且Static 再协议里建议不要用。
框架Static 使用的地方仍然很多想个办法精简一下

脚本标注

Manager

其中包含Manager的各个部件 前为BdFrame命名,后为自己命名

  • ManagerInstHelper/ManagerInstance 管理器实例
  • IMgr/IManager 管理器接口
  • ManagerBase 管理器基类

Hotfix

采用的是 ilruntime 进行热更
用BD编译 DLL 的方法进行调整。
整体逻辑是 先编译项目所有脚本成DLL 再编译Hotfix编译成DLL
主要作用就是 Hotfix 在ilruntime 项目时是另外的一个项目
这样做可以减少一步频繁引用

Q&A

  1. Q:为什么在BD中 他们存在于HotFix 和 HalfHot 中
  2. Q: 为什么这些然为静态类
  3. Q: Base 和 Interface 主要做什么内容的区别
  4. Q: 为什么不用默认设置的Type模式
    A: 业务情况一般不会只用一种。大概率都是两种都用
    多数情况是渠道包
    • StreamingAssets :不能写入,随包发包,适合存放一些初始化的AssetBundle资源
    • PersistentData :适合存放、运行程序下载的AssetBundle资源

      UIRoot

      节点 Layer 层

Frame

启动脚本组件。

例子误区

  1. StartPage
    没走框架流程。到点关闭

  2. MainLoading

基础支持

  1. HTTP 服务器
    区别于其他框架,BD自带了HTTP服务器。本地测试的时候非常好用。
    并且常开不用手动设置
    Ps: 好像会撞线程.暂时不知道如何复现
  2. HotFix 支持
    因为热更都需要打包才能进行测试。在开发过程中很慢
    BD 提供的Tag进行一体的思路 很牛逼
    在开发过程中 本地嫖一个Unity的过程,通过文件名来找一家人。
    暂时没遇到生产环境问题 再学习一手
  3. UIlayer支持

CheckError

  1. MenuItem Warn
    编辑器扩展。优化了官方功能

    不喜欢就屏蔽了,目录 com.popo.bdframework\Editor\UIComponent

  2. 初始化是以WindowEditor为主
    RuntimePlatform.WindowsEditor
    一般也很少使用Mac作为主力编辑器应该没啥问题

Unity 基础知识

Unity 打包脚本

(1)Assembly-CSharp-filepass.csproj:所有在Standard Assets、Pro Standard Assets或者Plugins文件夹中的脚本;
(2)Assembly-CSharp-Editor-filepass.csproj:所有在Standard Assets/Editor、Pro Standard Assets/Editor或者Plugins/Editor文件夹中的脚本产生工程文件;
(3)Assembly-CSharp.csproj:所有在Assets/Editor外面的,并且不在(1),(2)中的脚本文件(一般这些脚本就是我们自己写的非编辑器扩展脚本)会产生工程文件;
(4)Assembly-CSharp-Editor-vs.csproj:所有在Assets/Editor中的脚本产生一个工程文件。