MBSubModuleBase

從 骑砍中文百科
於 2020年4月25日 (六) 23:02 由 Notealot對話 | 貢獻 所做的修訂 复写
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)
跳到: 導覽搜尋

訪問源文檔
返回目錄

你可以通過繼承 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) - 加載選定的遊戲模式(子模組)後立即調用。
  • OnGameLoaded(Game, object) - 加載存檔後立即調用。
    • Game - 參閱 Game
    • object - N/A
  • OnCampaignStart(Game, object) - 遊戲模式一開始立即調用。
    • Game - 參閱 Game
    • object - N/A
  • OnGameInitializationFinished(Game) - 遊戲模式初始化後開始調用。
  • DoLoading(Game) - 不太確定,似乎是在加載結束時調用。
  • OnNewGameCreated(Game, object) - 戰役模式下開新存檔時調用。
    • Game - 參閱 Game
    • object - N/A
  • OnMissionBehaviourInitialize(Mission) - 一旦一個任務開始並且行為初始化,就會被調用。
  • OnGameEnd(Game) - 退出遊戲/戰役時調用。
  • OnSubModuleUnloaded() - 完全退出遊戲時調用。
  • OnMultiplayerGameStart(Game, object) - 多人遊戲相關,尚未測試。
    • Game - 參閱 Game
    • object - N/A