GameMenu
访问源文档
返回目录
战役中的所有菜单都由 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)可以准确地将其插入到其它选项前(默认情况下是插入到最后)。
所提供的条件方法有两重功能:
- 启动、关闭选项(通过返回值)
- 更改图标(通过传递参数)
可以通过将 optionLeaveType 设置为适合的值来修改图标,图片可以在 Mount & Blade II Bannerlord\GUI\GauntletUI\SpriteParts\ui_group1\GameMenu 下找到并且可以在 Mount & Blade II Bannerlord\Modules\Native\GUI\Brushes\GameMenu.xml 中浏览相关信息。当然,这也可以在你自己的模组中使用,但不能添加其它的 LeaveTypes 类型。
Type | Image |
---|---|
Default | |
Mission | |
Submenu | |
BribeAndEscape | |
Escape | |
Craft | |
ForceToGiveGoods | |
ForceToGiveTroops | |
RansomAndBribe | |
LeaveTroopsAndFlee | |
OrderTroopsToAttack | |
Raid | |
HostileAction | |
Recruit | |
Trade | |
Wait | |
Leave | |
Continue | |
Manage | |
WaitQuest | |
Surrender | |
Conversation | |
DefendAction |