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) - 加载选定的游戏模式(子模组)后立即调用。
  • 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