GameMenu

来自骑砍中文百科
Notealot讨论 | 贡献2020年4月24日 (五) 17:33的版本 (创建页面,内容为“[https://docs.bannerlordmodding.com/_csharp-api/campaignsystem/gamemenu.html <big>访问源文档</big>]<br> 骑马与砍杀2:霸主 MOD API|<big>返回目录</b…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

访问源文档
返回目录

战役中的所有菜单都由 GameMenuManager 管理,要添加菜单你必须使用 Campaign 类提供的方法。
添加新菜单使用:

CampaignGameStarter.AddGameMenu(string menuId, string menuText, OnInitDelegate initDelegate, MenuOverlayType overlay = MenuOverlayType.None, MenuFlags menuFlags = GameMenu.MenuFlags.none, object relatedObject = null)

delegate void OnInitDelegate(MenuCallbackArgs args);

这个覆盖定义了右上角的字符列表是否可见。
给菜单添加一个新设置使用:

CampaignGameStarter.AddGameMenuOption(string menuId, string optionId, string optionText, OnConditionDelegate condition, OnConsequenceDelegate consequence, bool isLeave = false, int index = -1)

bool OnConditionDelegate(MenuCallbackArgs args);
void OnConsequenceDelegate(MenuCallbackArgs args);

你可以将选项添加到现有菜单中,对此索引下标(Index)可以准确地将其插入到其它选项前(默认情况下是插入到最后)。

所提供的条件方法有两重功能:

  • 启动、关闭选项(通过返回值)
  • 更改图标(通过传递参数)