“MissionLogic”的版本间的差异

来自骑砍中文百科
跳转至: 导航搜索
(已保护“MissionLogic”([编辑=仅允许管理员](无限期)[移动=仅允许管理员](无限期)))
复写
 
(未显示同一用户的3个中间版本)
第1行: 第1行:
 
[https://docs.bannerlordmodding.com/_csharp-api/mountandblade/missionbehaviour/missionlogic.html <big>访问源文档</big>]<br>
 
[https://docs.bannerlordmodding.com/_csharp-api/mountandblade/missionbehaviour/missionlogic.html <big>访问源文档</big>]<br>
 
[[骑马与砍杀2:霸主 MOD API|<big>返回目录</big>]]<br>
 
[[骑马与砍杀2:霸主 MOD API|<big>返回目录</big>]]<br>
 +
<br>
 +
<big>MissionLogic 是一个继承 [[MissionBehaviour]] 的抽象类,除了几个额外的回调外,任务逻辑还有可复写的方法会影响任务的逻辑。</big>
 +
== <big>回调</big> ==
 +
<big>
 +
* '''AccelerateHorseKeyPressAnswer()''' - 似乎不太赞成使用这一回调函数。
 +
* '''OnBattleEnded()''' - 在战斗自然结束前玩家选择离开时调用。
 +
* '''OnMissionResultReady(MissionResult)''' - 任务结束调用并且创建 MissionResult ,注意这个调用在 '''ShowBattleResults''' 前进行。
 +
** '''MissionResult''' - 计算的结果数据。
 +
* '''OnRetreatMission()''' - 玩家从任务中撤退时调用,当前,竞技场和带战斗的任务似乎是玩家可以撤退的。
 +
* '''ShowBattleResults()''' - 当任务完成并且结束倒计时启动时调用,这在任务回调结束前调用。</big>
 +
 +
== <big>复写</big> ==
 +
<big>
 +
* '''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时将阻止玩家离开并不会再调用。
 +
</big>

2020年4月25日 (六) 23:50的最新版本

访问源文档
返回目录

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时将阻止玩家离开并不会再调用。