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 |