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 |