MBSubModuleBase
訪問源文檔
返回目錄
你可以通過繼承 MBSubModuleBase 類來處理你的模組的加載,它本質上是你的代碼入口。這裡有幾種有用的複寫,例如你可以利用的 OnSubModuleLoad() 和 OnApplicationTick()。
不過需要注意的是,你必須在你的模組的 SubModule.xml 中引用這個類的完全限定名,才能夠正常工作。
在示例 SubModule.xml 中,ExampleMod.MySubModule 是繼承 MBSubModuleBase 的類的完全限定名。
複寫
這是可用複寫的完整列表,按它們(通常)調用的順序排列。這是一個大概的指南,當你遇到執行順序錯誤時不能用作debug的標準。
- OnSubModuleLoad() - 在遊戲首次加載時首先調用,這裡應該是你的做初始設置的地方。
- OnApplicationTick(float) - 這裡每 Tick 調用一次,這裡你應該避免做一些複雜的工作而着重考慮性能。
- float - 毫秒為單位,去執行的時間
- OnBeforeInitialModuleScreenSetAsRoot() - 主菜單出現前調用,如果你的模組有什麼需要初始化的東西這會非常有用。
- OnGameStart(Game, IGameStarter) - 主菜單選擇遊戲模式(子模組)後立即調用。
- Game - 參閱 Game
- IGameStarter - N/A
- BeginGameStart(Game) - 加載選定的遊戲模式(子模組)後立即調用。
- Game - 參閱 Game
- OnGameLoaded(Game, object) - 加載存檔後立即調用。
- Game - 參閱 Game
- object - N/A
- OnCampaignStart(Game, object) - 遊戲模式一開始立即調用。
- Game - 參閱 Game
- object - N/A
- OnGameInitializationFinished(Game) - 遊戲模式初始化後開始調用。
- Game - 參閱 Game
- DoLoading(Game) - 不太確定,似乎是在加載結束時調用。
- Game - 參閱 Game
- OnNewGameCreated(Game, object) - 戰役模式下開新存檔時調用。
- Game - 參閱 Game
- object - N/A
- OnMissionBehaviourInitialize(Mission) - 一旦一個任務開始並且行為初始化,就會被調用。
- Mission - 參閱 Mission
- OnGameEnd(Game) - 退出遊戲/戰役時調用。
- Game - 參閱 Game
- OnSubModuleUnloaded() - 完全退出遊戲時調用。
- OnMultiplayerGameStart(Game, object) - 多人遊戲相關,尚未測試。
- Game - 參閱 Game
- object - N/A