目前工程項目分為多個Scene
- main 作為入口場景用于加載其他的場景信息
- service 用于啟動服務器等server信息
- login 用于登錄界面和進入房間選項
- room 用于主場景界面
關于StrangeIOC

- 關于StrangeIOC框架 剛看過一遍
- 框架學習筆記:Unity3D的MVC框架——StrangeIoC
- Unity StrangeIoc框架
- StrangeIOC MVCS框架介紹及進階 值得閱讀,剛看了開頭
- Unity StrangeIoc 框架介紹 譯文
- 相關譯文
- 進階方面
Strange: the IoC framework for Unity 讀書筆記
原文
譯文
重新排版和翻譯了譯文的部分內容
介紹
StrangeIoC是一個輕量高擴展性的控制反轉框架背亥,為C#和Unity設計
- 一個支持各種綁定的核心的綁定框架
- 依賴注入
- 映射為單例则披、值或工廠(每次需要時創(chuàng)建一個新的實例)
- 命名注入
- 構造函數(shù)注入或者setter注入(可以理解為屬性注入)
- 標記指定的構造函數(shù)
- 注入到MonoBehaviours
- 多態(tài)綁定 : 可以綁定接口或者實體類
- 反射綁定释牺,顯著減少采用反射的開銷
- 兩種風格的共享事件機制
- 可以發(fā)送消息(event or signal)到程序的任意位置
- 為本地通信映射本地的事件橋
- 都會映射事件到相應的命令類來分離邏輯
- 使用新的 signal 實現(xiàn)來增加類型安全保證莫鸭,并且減小了類型強制轉換的開銷
- MonoBehaviour中介
- 幫助分離view和邏輯
- 隔離unity特有的代碼與其他邏輯代碼
- 可選的MVCS結構
- 多個context
- 多個子控件(子場景)單獨運行,或者運行在主APP中
- 允許context之劍通信
- 擴展簡單,可以自建新的綁定器
目錄介紹
- Framework 包含構成Strange的主要類
- Extensions 庫函數(shù)
- tests 單元測試
1.綁定
關于Signal的使用
signal 不一定需要和command綁定,只需要自行綁定單例就可以了
//CrossContext 是用于跨模板和跨場景用的
injectionBinder.Bind<SomeSignal>().ToSingleton().CrossContext();
關于多個Context的處理
unity框架strangeioc研究分享
Crossing Contexts with StrangeIoC
關于綁定MonoBehaviour的管理類
將會出現(xiàn)無法注入[Inject]參數(shù)的情況
注入 原理相關
injectionBinder.Bind (viewType).ToValue (view).ToInject(false);
injectionBinder.injector.Inject (mediator);
injectionBinder.Unbind(viewType);