Frame02 初始化
启动流程
主要参照的依旧是BDframe,但是很多功能不需要会进行适当精简
而且Static 再协议里建议不要用。
框架Static 使用的地方仍然很多想个办法精简一下
脚本标注
Manager
其中包含Manager的各个部件 前为BdFrame命名,后为自己命名
- ManagerInstHelper/ManagerInstance 管理器实例
- IMgr/IManager 管理器接口
- ManagerBase 管理器基类
Hotfix
采用的是 ilruntime 进行热更
用BD编译 DLL 的方法进行调整。
整体逻辑是 先编译项目所有脚本成DLL 再编译Hotfix编译成DLL
主要作用就是 Hotfix 在ilruntime 项目时是另外的一个项目
这样做可以减少一步频繁引用
Q&A
- Q:为什么在BD中 他们存在于HotFix 和 HalfHot 中
- Q: 为什么这些然为静态类
- Q: Base 和 Interface 主要做什么内容的区别
- Q: 为什么不用默认设置的Type模式
A: 业务情况一般不会只用一种。大概率都是两种都用
多数情况是渠道包
Frame
启动脚本组件。
例子误区
StartPage
没走框架流程。到点关闭MainLoading
基础支持
- HTTP 服务器
区别于其他框架,BD自带了HTTP服务器。本地测试的时候非常好用。
并且常开不用手动设置
Ps: 好像会撞线程.暂时不知道如何复现 - HotFix 支持
因为热更都需要打包才能进行测试。在开发过程中很慢
BD 提供的Tag进行一体的思路 很牛逼
在开发过程中 本地嫖一个Unity的过程,通过文件名来找一家人。
暂时没遇到生产环境问题 再学习一手 - UIlayer支持
CheckError
- MenuItem Warn
编辑器扩展。优化了官方功能不喜欢就屏蔽了,目录 com.popo.bdframework\Editor\UIComponent
- 初始化是以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中的脚本产生一个工程文件。