MissionLogic

来自骑砍中文百科
跳转至: 导航搜索

访问源文档
返回目录

MissionLogic 是一个继承 MissionBehaviour 的抽象类,除了几个额外的回调外,任务逻辑还有可复写的方法会影响任务的逻辑。

回调

  • AccelerateHorseKeyPressAnswer() - 似乎不太赞成使用这一回调函数。
  • OnBattleEnded() - 在战斗自然结束前玩家选择离开时调用。
  • OnMissionResultReady(MissionResult) - 任务结束调用并且创建 MissionResult ,注意这个调用在 ShowBattleResults 前进行。
    • MissionResult - 计算的结果数据。
  • OnRetreatMission() - 玩家从任务中撤退时调用,当前,竞技场和带战斗的任务似乎是玩家可以撤退的。
  • ShowBattleResults() - 当任务完成并且结束倒计时启动时调用,这在任务回调结束前调用。

复写

  • bool IsAgentInteractionAllowed() - 调用来确定Agent是否可交互。返回true即允许交互,注意所有的任务逻辑都需要返回true才能得到正确的结果。
  • bool IsOrderShoutingAllowed() - 调用来确定是否命令语音可以使用。返回true即允许使用,注意所有的任务逻辑都需要返回true才能得到正确的结果。
  • bool MissionEnded(ref MissionResult) - 可被复写来决定任务的结束。除了基础检查外每个任务Tick都会调用。返回true触发任务结束。注意只有一个任务逻辑返回true就足够了,这一个返回的true将决定MissionResult
    • MissionResult - MissionResult 实例用于存储结果数据。这个参数通过 ref 关键字传递。
  • InquiryData OnEndMissionRequest(out bool) - 玩家想离开任务时调用。InquiryData能返回显示确认框。 注意将显示任务逻辑返回的第一个非空InquiryData,其它部分将不调用此回调。
    • bool - 决定玩家是否能离开任务。这个参数通过 out 关键字传递。如果玩家可以离开传入true。注意当首次设置为false时将阻止玩家离开并不会再调用。