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