private void screen_OnMouseLeftUp(Point position) { if (this.menuToDisplay != null) { /*if (this.BianduiLiebiaoXianshi == true && StaticMethods.PointInRectangle(position, this.BianduiLiebiaoWeizhi)) //光标在编队列表里点击时不关闭菜单 * { * * }*/ if ((this.HelpPlugin != null) && (this.HelpPlugin.IsButtonShowing && StaticMethods.PointInRectangle(position, this.HelpPlugin.ButtonDisplayPosition))) { this.Result = ContextMenuResult.None; this.IsShowing = false; this.HelpPlugin.IsButtonShowing = false; this.HelpPlugin.IsShowing = true; } else { MenuItem itemByPosition = this.menuToDisplay.GetItemByPosition(position); if (itemByPosition != null && itemByPosition.Enabled) { bool open = itemByPosition.Open; itemByPosition.Open = !itemByPosition.Open; if (open || itemByPosition.Open) { this.screen.PlayNormalSound(this.OpenSoundFile); this.Result = ContextMenuResult.KeepShowing; } else { this.screen.PlayNormalSound(this.ClickSoundFile); if (itemByPosition.IsParamIDItem) { this.CurrentParamID = int.Parse(itemByPosition.Param); this.Result = StaticMethods.GetContextMenuResultByName(itemByPosition.ResultDecludeParam); } else { this.Result = StaticMethods.GetContextMenuResultByName(itemByPosition.Result); } this.IsShowing = false; } } else if (!this.menuToDisplay.HasOpenItem) { this.screen.PlayNormalSound(this.FoldSoundFile); this.Result = ContextMenuResult.None; this.IsShowing = false; } else { this.screen.PlayNormalSound(this.FoldSoundFile); this.menuToDisplay.FoldOpenedItem(); this.Result = ContextMenuResult.KeepShowing; } } } }
private void screen_OnMouseRightUp(Point position) { if (!this.menuToDisplay.IsLeft && this.menuToDisplay.HasOpenItem) { this.screen.PlayNormalSound(this.FoldSoundFile); this.menuToDisplay.FoldOpenedItem(); this.Result = ContextMenuResult.KeepShowing; } }
public ContextMenuResult Show(FileSystemInfo[] paths) { List <IntPtr> pidls = new List <IntPtr>(paths.Length); Array.ForEach(paths, path => pidls.Add(SafeNativeMethods.ILCreateFromPath(path.FullName))); ContextMenuResult result = this.showInternal(pidls.ToArray()); return(result); }
internal void SetMenuKindByName(string Name) { this.menuToDisplay = this.GetMenuKindByName(Name); if (this.menuToDisplay != null) { this.RefreshAllItemsVisible(); if (this.menuToDisplay.VisibleCount == 0) { this.Result = ContextMenuResult.None; this.IsShowing = false; } this.RefreshAllItemsDisplayName(); if (this.HelpPlugin != null) { this.HelpPlugin.SetButtonSize(new Point(this.menuToDisplay.ItemHeight, this.menuToDisplay.ItemHeight)); } } }
private ContextMenuResult showInternal(IntPtr[] pidls) { ContextMenuResult result = ContextMenuResult.NoUserFeedback; this.AssignHandle(this.parent); if (this.contextMenu2 != null) { Marshal.ReleaseComObject(this.contextMenu2); this.contextMenu2 = null; } this.contextMenu2 = internalShellContextMenu.createContextMenu2(pidls); using (ContextMenu menu = new ContextMenu()) { if (this.contextMenu2 != null) { int queryContextMenuResult = this.contextMenu2.QueryContextMenu(menu.Handle, 0, 1, 65535, internalShellContextMenu.createContextMenuFlags(this.shellContextMenu)); UInt32 trackPopupMenuResult = SafeNativeMethods.TrackPopupMenu(menu.Handle, SafeNativeMethods.TPM_RETURNCMD, this.pos.X, this.pos.Y, 0, this.parent, IntPtr.Zero); if (trackPopupMenuResult != 0) { SafeNativeMethods.CMINVOKECOMMANDINFO cmici = new SafeNativeMethods.CMINVOKECOMMANDINFO(); cmici.cbSize = Marshal.SizeOf(cmici); cmici.fMask = 0; cmici.hwnd = this.Handle; cmici.lpVerb = (IntPtr)((trackPopupMenuResult - 1) & 65535); cmici.lpParameters = IntPtr.Zero; cmici.lpDirectory = IntPtr.Zero; cmici.nShow = 1; cmici.dwHotKey = 0; cmici.hIcon = IntPtr.Zero; int invokeCommandResult = this.contextMenu2.InvokeCommand(ref cmici); } result = (ContextMenuResult)trackPopupMenuResult; } } this.ReleaseHandle(); return(result); }
private void screen_OnMouseRightDown(Point position) { if (!this.menuToDisplay.IsLeft) { if (!this.menuToDisplay.HasOpenItem) { this.screen.PlayNormalSound(this.FoldSoundFile); this.Result = ContextMenuResult.None; this.IsShowing = false; } } else if (this.menuToDisplay.HasOpenItem) { this.screen.PlayNormalSound(this.FoldSoundFile); this.menuToDisplay.FoldOpenedItem(); this.Result = ContextMenuResult.KeepShowing; } else { this.screen.PlayNormalSound(this.FoldSoundFile); this.Result = ContextMenuResult.None; this.IsShowing = false; } }
private void HandleContextMenuResult(ContextMenuResult result) { GameDelegates.VoidFunction function = null; GameDelegates.VoidFunction function2 = null; GameDelegates.VoidFunction function3 = null; GameDelegates.VoidFunction function4 = null; this.bianduiLiebiaoBiaoji = ""; this.Plugins.BianduiLiebiao.IsShowing = false; this.Plugins.youcelanPlugin.IsShowing = true; this.Plugins.ContextMenuPlugin.ShezhiBianduiLiebiaoXinxi(this.Plugins.BianduiLiebiao.IsShowing, this.Plugins.BianduiLiebiao.Weizhi); switch (result) { case ContextMenuResult.Architecture_Detail: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Architecture, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.GetGameObjectList(), null, "", ""); break; case ContextMenuResult.Architecture_Persons: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.GetAllPersons(), null, "", ""); break; case ContextMenuResult.Architecture_Militaries: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.Militaries.GetList(), null, "", ""); break; case ContextMenuResult.Architecture_NoFactionPersons: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.NoFactionPersons.GetList(), null, "在野人物", ""); break; case ContextMenuResult.Architecture_Facilities: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Facility, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.Facilities.GetList(), null, "", ""); break; case ContextMenuResult.Architecture_Captive: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.Browse, true, true, false, false, this.CurrentArchitecture.Captives.GetList(), null, "", ""); break; case ContextMenuResult.Architecture_Treasure: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Treasure, FrameFunction.Browse, true, true, false, false, this.CurrentArchitecture.GetAllTreasureInArchitecture(), null, "", ""); break; //case ContextMenuResult.Architecture_xiangxixinxi: // break; case ContextMenuResult.Architecture_Princesses: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.Feiziliebiao, null, "", ""); break; case ContextMenuResult.Architecture_Informations: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Information, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.Informations, null, "", ""); break; case ContextMenuResult.Faction_Detail: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Faction, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.GetGameObjectList(), null, "", ""); } break; case ContextMenuResult.Faction_Architectures: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Architecture, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.Architectures.GetList(), null, "", ""); } break; case ContextMenuResult.Faction_Troops: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Troop, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.Troops.GetList(), null, "", ""); } break; case ContextMenuResult.Faction_Persons: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.Persons.GetList(), null, "", ""); } break; case ContextMenuResult.Faction_Militaries: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.Militaries.GetList(), null, "", ""); } break; case ContextMenuResult.Faction_AvailableMilitaryKinds: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.MilitaryKind, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.AvailableMilitaryKinds.GetMilitaryKindList(), null, "", ""); } break; case ContextMenuResult.Faction_Captive: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.Browse, true, true, false, false, this.CurrentArchitecture.BelongedFaction.Captives.GetList(), null, "", ""); } break; case ContextMenuResult.Faction_SelfCaptive: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.Browse, true, true, false, false, this.CurrentArchitecture.BelongedFaction.SelfCaptives.GetList(), null, "被俘虏列表", ""); } break; case ContextMenuResult.Faction_DiplomaticRelations: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.DiplomaticRelation, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.Scenario.DiplomaticRelations.GetDiplomaticRelationDisplayListByFactionID(this.CurrentArchitecture.BelongedFaction.ID), null, "", ""); } break; case ContextMenuResult.Faction_Techniques: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowFactionTechniques(this.CurrentArchitecture.BelongedFaction, this.CurrentArchitecture); } break; case ContextMenuResult.Faction_Sections: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Section, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.Sections, null, "", ""); } break; case ContextMenuResult.Faction_Treasure: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Treasure, FrameFunction.Browse, true, true, false, false, this.CurrentArchitecture.GetAllTreasureInFaction(), null, "", ""); } break; case ContextMenuResult.Faction_Informations: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Information, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.GetAllInformationList(), null, "", ""); } break; case ContextMenuResult.Internal_StopWork: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.无; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, null, "停止工作", ""); break; case ContextMenuResult.Internal_zhenzai: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.赈灾; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.ZhenzaiWorkingPersons, "赈灾", "赈灾"); break; case ContextMenuResult.Internal_Agriculture: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.农业; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.AgricultureWorkingPersons, "农业", "农业"); break; case ContextMenuResult.Internal_Commerce: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.商业; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.CommerceWorkingPersons, "商业", "商业"); break; case ContextMenuResult.Internal_Technology: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.技术; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.TechnologyWorkingPersons, "技术", "技术"); break; case ContextMenuResult.Internal_Domination: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.统治; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.DominationWorkingPersons, "统治", "统治"); break; case ContextMenuResult.Internal_Morale: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.民心; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.MoraleWorkingPersons, "民心", "民心"); break; case ContextMenuResult.Internal_Endurance: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.耐久; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.EnduranceWorkingPersons, "耐久", "耐久"); break; case ContextMenuResult.Internal_Facility_Build: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Facility, FrameFunction.GetFacilityToBuild, false, true, true, false, this.CurrentArchitecture.GetBuildableFacilityKindList(), null, "选择设施", ""); break; case ContextMenuResult.Internal_Facility_Demolish: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Facility, FrameFunction.GetFacilityToDemolish, false, true, true, true, this.CurrentArchitecture.kechaichudesheshi(), null, "选择设施", ""); break; case ContextMenuResult.Internal_Trade_BuyFood: this.Plugins.NumberInputerPlugin.SetMax(this.CurrentArchitecture.Fund); this.Plugins.NumberInputerPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.NumberInputerPlugin.SetDepthOffset(-0.01f); if (function == null) { function = delegate { this.CurrentArchitecture.BuyFood(this.Plugins.NumberInputerPlugin.Number); }; } this.Plugins.NumberInputerPlugin.SetEnterFunction(function); this.Plugins.NumberInputerPlugin.IsShowing = true; break; case ContextMenuResult.Internal_Trade_SellFood: this.Plugins.NumberInputerPlugin.SetMax(this.CurrentArchitecture.Food); this.Plugins.NumberInputerPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.NumberInputerPlugin.SetDepthOffset(-0.01f); if (function2 == null) { function2 = delegate { this.CurrentArchitecture.SellFood(this.Plugins.NumberInputerPlugin.Number); }; } this.Plugins.NumberInputerPlugin.SetEnterFunction(function2); this.Plugins.NumberInputerPlugin.IsShowing = true; break; case ContextMenuResult.Internal_Expand: this.screenManager.ArchitectureExpand(); break; case ContextMenuResult.Military_Campaign: if (function3 == null) { function3 = delegate { this.CurrentArchitecture = this.Plugins.CreateTroopPlugin.CreatingArchitecture as Architecture; this.CurrentMilitary = this.Plugins.CreateTroopPlugin.CreatingMilitary as Military; this.CurrentGameObjects = this.Plugins.CreateTroopPlugin.CreatingPersons as GameObjectList; this.CurrentPerson = this.Plugins.CreateTroopPlugin.CreatingLeader as Person; this.CurrentNumber = this.Plugins.CreateTroopPlugin.CreatingFood; this.Currentzijin = this.Plugins.CreateTroopPlugin.Creatingzijin; }; } this.Plugins.CreateTroopPlugin.SetCreateFunction(function3); this.Plugins.CreateTroopPlugin.SetShellMilitaryKind(null); this.Plugins.CreateTroopPlugin.SetArchitecture(this.CurrentArchitecture); this.Plugins.CreateTroopPlugin.SetPosition(ShowPosition.Center); this.Plugins.CreateTroopPlugin.IsShowing = true; break; case ContextMenuResult.Military_Troopership: if (function4 == null) { function4 = delegate { this.CurrentArchitecture = this.Plugins.CreateTroopPlugin.CreatingArchitecture as Architecture; this.CurrentMilitary = this.Plugins.CreateTroopPlugin.CreatingMilitary as Military; this.CurrentGameObjects = this.Plugins.CreateTroopPlugin.CreatingPersons as GameObjectList; this.CurrentPerson = this.Plugins.CreateTroopPlugin.CreatingLeader as Person; this.CurrentNumber = this.Plugins.CreateTroopPlugin.CreatingFood; this.Currentzijin = this.Plugins.CreateTroopPlugin.Creatingzijin; }; } this.Plugins.CreateTroopPlugin.SetCreateFunction(function4); this.Plugins.CreateTroopPlugin.SetShellMilitaryKind(base.Scenario.GameCommonData.AllMilitaryKinds.GetMilitaryKind(0x1c)); this.Plugins.CreateTroopPlugin.SetArchitecture(this.CurrentArchitecture); this.Plugins.CreateTroopPlugin.SetPosition(ShowPosition.Center); this.Plugins.CreateTroopPlugin.IsShowing = true; break; case ContextMenuResult.Military_Training: //this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.GetTrainingMilitary, false, true, true, false, this.CurrentArchitecture.GetTrainingMilitaryList(), null, "选择编队", ""); this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.训练 ; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.TrainingWorkingPersons , "训练", "训练"); break; case ContextMenuResult.Military_New: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.MilitaryKind, FrameFunction.GetNewMilitaryKind, false, true, true, false, this.CurrentArchitecture.GetNewMilitaryKindList(), null, "选择兵种", ""); break; case ContextMenuResult.Military_Recruitment: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.GetRecruitmentMilitary, false, true, true, false, this.CurrentArchitecture.GetRecruitmentMilitaryList(), null, "选择编队", ""); break; case ContextMenuResult.Military_Merge: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.GetMergeMilitary, false, true, true, false, this.CurrentArchitecture.GetMergeMilitaryList(), null, "选择编队", ""); break; case ContextMenuResult.Military_Disband: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.GetBeDisbandedMilitaries, false, true, true, true, this.CurrentArchitecture.Militaries, null, "解散编队", ""); break; case ContextMenuResult.Military_LevelUp: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.GetLevelUpMilitaries, false, true, true, true, this.CurrentArchitecture.GetLevelUpMilitaryList(), null, "选择编队", ""); break; case ContextMenuResult.Transport_Routeway_Design: //粮道手动设计 this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.ArchitectureRoutewayStartPoint)); break; case ContextMenuResult.Transport_Routeway_PointShortestNormal: this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.RoutewayPointShortestNormal)); break; case ContextMenuResult.Transport_Routeway_PointShortestNoWater: this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.RoutewayPointShortestNoWater)); break; case ContextMenuResult.Transport_Routeway_ArchitectureShortestNormal: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.SimpleArchitecture, FrameFunction.GetShortestRouteway, false, true, true, true, this.CurrentArchitecture.GetAILinks(2), null, "粮道", ""); break; case ContextMenuResult.Transport_Routeway_ArchitectureShortestNoWater: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.SimpleArchitecture, FrameFunction.GetShortestNoWaterRouteway, false, true, true, true, this.CurrentArchitecture.GetAILinks(2), null, "粮道", ""); break; case ContextMenuResult.Transport_Routeway_CloseAll: this.CurrentArchitecture.CloseAllRouteways(); break; case ContextMenuResult.Transport_Routeway_DemolishAll: this.CurrentArchitecture.DemolishAllRouteways(); break; case ContextMenuResult.Transport_Fund: this.Plugins.TransportDialogPlugin.SetSourceArchiecture(this.CurrentArchitecture); this.Plugins.TransportDialogPlugin.SetKind(TransportKind.Fund); this.Plugins.TransportDialogPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.TransportDialogPlugin.IsShowing = true; break; case ContextMenuResult.Transport_Food: this.Plugins.TransportDialogPlugin.SetSourceArchiecture(this.CurrentArchitecture); this.Plugins.TransportDialogPlugin.SetKind(TransportKind.Food); this.Plugins.TransportDialogPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.TransportDialogPlugin.IsShowing = true; break; case ContextMenuResult.Person_Transfer: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.PersonTransfer, false, true, true, true, this.CurrentArchitecture.Persons, null, "调动", ""); break; case ContextMenuResult.Person_Convene: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.PersonConvene, false, true, true, true, this.CurrentArchitecture.GetPersonConveneList(), null, "召集", ""); break; case ContextMenuResult.Person_Hire: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.PersonManualHire, false, true, true, false, this.CurrentArchitecture.NoFactionPersons, null, "录用", ""); //this.CurrentArchitecture.shoudongluyong(); break; case ContextMenuResult.Person_Convince: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.ConvincePersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetConvinceSourcePerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "说服", "说服"); break; case ContextMenuResult.Person_Reward: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.RewardPersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.GetRewardPerson, false, true, true, true, this.CurrentArchitecture.GetRewardPersons(), null, "褒奖", "Personal"); break; case ContextMenuResult.Person_RewardAll: this.CurrentArchitecture.RewardAll(); break; case ContextMenuResult.Person_Redeem: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.GetRedeemCaptive, false, true, true, false, this.CurrentArchitecture.GetRedeemCaptiveList(), null, "赎回俘虏", ""); break; case ContextMenuResult.Person_Study_Skill: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.GetStudySkillPerson, false, true, true, true, this.CurrentArchitecture.GetPersonStudySkillList(), null, "研习", ""); break; case ContextMenuResult.Person_Study_Title: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.GetStudyTitlePerson, false, true, true, false, this.CurrentArchitecture.GetPersonStudyTitleList(), null, "研习", ""); break; case ContextMenuResult.Person_Study_Stunt: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.GetStudyStuntPerson, false, true, true, false, this.CurrentArchitecture.GetPersonStudyStuntList(), null, "研习", ""); break; case ContextMenuResult.RoutewayEdit: //编辑粮道 this.Plugins.RoutewayEditorPlugin.SetRouteway(this.CurrentRouteway); this.Plugins.RoutewayEditorPlugin.IsShowing = true; break; case ContextMenuResult.RoutewayShowArea: this.CurrentRouteway.ShowArea = !this.CurrentRouteway.ShowArea; break; case ContextMenuResult.RoutewayBuild: this.CurrentRouteway.Build(); break; case ContextMenuResult.RoutewayClose: this.CurrentRouteway.CloseAt(this.position); break; case ContextMenuResult.RoutewayDemolish: this.TryToDemolishRouteway(); break; case ContextMenuResult.Tactics_Information: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.InformationKind, FrameFunction.GetInformationKind, false, true, true, false, base.Scenario.GameCommonData.AllInformationKinds.GetAvailList(this.CurrentArchitecture), null, "情报种类", ""); break; case ContextMenuResult.Tactics_StopInformation: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Information, FrameFunction.GetInformationToStop, false, true, true, true, this.CurrentArchitecture.Informations, null, "停止情报", "情报"); break; case ContextMenuResult.Tactics_Spy: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.SpyPersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetSpyPerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "间谍", "间谍"); break; case ContextMenuResult.Tactics_Destroy: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.DestroyPersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetDestroyPerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "破坏", "破坏"); break; case ContextMenuResult.Tactics_Instigate: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.InstigatePersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetInstigatePerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "煽动", "煽动"); break; case ContextMenuResult.Tactics_Gossip: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.GossipPersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetGossipPerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "流言", "流言"); break; case ContextMenuResult.Tactics_Search: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetSearchPerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "搜索", "搜索"); break; case ContextMenuResult.Tactics_JailBreak: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.JailBreakPersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetJailBreakPerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "劫狱", "劫狱"); break; case ContextMenuResult.Tactics_ClearField: this.Plugins.ConfirmationDialogPlugin.SetSimpleTextDialog(this.Plugins.SimpleTextDialogPlugin); this.Plugins.ConfirmationDialogPlugin.ClearFunctions(); this.Plugins.ConfirmationDialogPlugin.AddYesFunction(new GameDelegates.VoidFunction(this.CurrentArchitecture.ClearField)); this.Plugins.ConfirmationDialogPlugin.SetPosition(ShowPosition.Center); this.Plugins.SimpleTextDialogPlugin.SetGameObjectBranch(this.CurrentArchitecture, "ClearField"); this.Plugins.ConfirmationDialogPlugin.IsShowing = true; break; case ContextMenuResult.Monarch_officePosition_jingongzijin: this.Plugins.TransportDialogPlugin.SetSourceArchiecture(this.CurrentArchitecture); this.Plugins.TransportDialogPlugin.SetKind(TransportKind.Fund); this.Plugins.TransportDialogPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.TransportDialogPlugin.SetGameRecord(this.Plugins.GameRecordPlugin); this.Plugins.TransportDialogPlugin.IsShowing = true; break; case ContextMenuResult.Monarch_officePosition_jingongliangcao: this.Plugins.TransportDialogPlugin.SetSourceArchiecture(this.CurrentArchitecture); this.Plugins.TransportDialogPlugin.SetKind(TransportKind.Food ); this.Plugins.TransportDialogPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.TransportDialogPlugin.SetGameRecord(this.Plugins.GameRecordPlugin); this.Plugins.TransportDialogPlugin.IsShowing = true; break; case ContextMenuResult.Monarch_ChangeCapital: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Architecture, FrameFunction.GetNewCapital, false, true, true, false, this.CurrentArchitecture.GetChangeCapitalArchitectureList(), null, "迁都", ""); break; case ContextMenuResult.Monarch_SelectPrince : this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.SelectPrince, false, true, true, false, this.CurrentArchitecture.BelongedFaction.Leader.ChildrenCanBeSelectedAsPrince(), null, "立储", ""); break; case ContextMenuResult.Monarch_Diplomatic_EnhanceDiplomaticRelation: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.DiplomaticRelation, FrameFunction.GetEnhanceDiplomaticRelation, false, true, true, false, this.CurrentArchitecture.GetEnhanceDiplomaticRelationList(), null, "亲善", ""); break; case ContextMenuResult.Monarch_Diplomatic_AllyDiplomaticRelation: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.DiplomaticRelation, FrameFunction.GetAllyDiplomaticRelation, false, true, true, false, this.CurrentArchitecture.GetAllyDiplomaticRelationList(), null, "结盟", ""); break; case ContextMenuResult.Monarch_Diplomatic_ResetDiplomaticRelation: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.DiplomaticRelation, FrameFunction.GetFriendlyDiplomaticRelation, false, true, true, false, this.CurrentArchitecture.GetResetDiplomaticRelationList(), null, "解盟", ""); break; case ContextMenuResult.Monarch_Diplomatic_TruceDiplomaticRelation: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.DiplomaticRelation, FrameFunction.GetTruceDiplomaticRelation, false, true, true, false, this.CurrentArchitecture.GetTruceDiplomaticRelationList(), null, "停战", ""); break; case ContextMenuResult.Monarch_Diplomatic_DenounceDiplomaticRelation: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.DiplomaticRelation, FrameFunction.GetDenounceDiplomaticRelation, false, true, true, false, this.CurrentArchitecture.GetDenounceDiplomaticRelationList(), null, "声讨", ""); break; case ContextMenuResult.Monarch_Techniques: this.ShowFactionTechniques(this.CurrentArchitecture.BelongedFaction, this.CurrentArchitecture); break; case ContextMenuResult.Monarch_KillRelease_ReleaseSelfPerson: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.ReleaseSelfPerson, false, true, true, false, this.CurrentArchitecture.CanKilledPersons(), null, "流放下属", ""); break; case ContextMenuResult.Monarch_KillRelease_ReleaseCaptive: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.GetReleaseCaptive, false, true, true, true, this.CurrentArchitecture.BelongedFaction.Captives, null, "释放俘虏", ""); break; case ContextMenuResult.Monarch_KillRelease_KillPerson: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.KillPerson, false, true, true,false , this.CurrentArchitecture.CanKilledPersons(), null, "处斩下属", ""); break; case ContextMenuResult.Monarch_KillRelease_KillCaptive: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.KillCaptive, false, true, true, false, this.CurrentArchitecture.BelongedFaction.Captives, null, "处斩俘虏", ""); break; case ContextMenuResult.Monarch_hougongTop_nafei: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.xuanzemeinv, true, true, true, false, this.CurrentArchitecture.nvxingwujiang(), null, "纳妃", ""); break; case ContextMenuResult.Monarch_hougongTop_hougong: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.chongxingmeinv, true, true, true, false, this.CurrentArchitecture.meifaxianhuaiyundefeiziliebiao(), null, "后宫", ""); break; case ContextMenuResult.Monarch_Refuse: this.CurrentArchitecture.BelongedFaction.AutoRefuse = !this.CurrentArchitecture.BelongedFaction.AutoRefuse; break; case ContextMenuResult.Monarch_Treasure_Confiscate: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Treasure, FrameFunction.GetConfiscateTreasure, false, true, true, false, this.CurrentArchitecture.GetAllTreasureInArchitectureExceptLeader(), null, "", ""); break; case ContextMenuResult.Monarch_Treasure_Award: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Treasure, FrameFunction.GetAwardTreasure, false, true, true, false, this.CurrentArchitecture.GetTreasureListOfLeader(), null, "", ""); break; case ContextMenuResult.Monarch_officePosition_SelfBecomeEmperor: this.CurrentArchitecture.BelongedFaction.SelfBecomeEmperor(); break; case ContextMenuResult.Monarch_officePosition_BecomeEmperorLegally: this.CurrentArchitecture.BelongedFaction.BecomeEmperorLegally(); break; case ContextMenuResult.Section_New: this.Plugins.MarshalSectionDialogPlugin.SetFaction(this.CurrentArchitecture.BelongedFaction); this.Plugins.MarshalSectionDialogPlugin.SetSection(null); this.Plugins.MarshalSectionDialogPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.MarshalSectionDialogPlugin.IsShowing = true; break; case ContextMenuResult.Section_Regroup: this.Plugins.MarshalSectionDialogPlugin.SetFaction(this.CurrentArchitecture.BelongedFaction); this.Plugins.MarshalSectionDialogPlugin.SetSection(this.CurrentArchitecture.BelongedSection); this.Plugins.MarshalSectionDialogPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.MarshalSectionDialogPlugin.IsShowing = true; break; case ContextMenuResult.Section_Disband: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.BelongedFaction.SectionCount - 1); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Section, FrameFunction.GetSectionToDemolish, false, true, true, true, this.CurrentArchitecture.BelongedFaction.Sections, null, "", ""); break; case ContextMenuResult.Person_Hiring: //委任录用 this.CurrentArchitecture.AutoHiring = !this.CurrentArchitecture.AutoHiring; if (this.CurrentArchitecture.AutoHiring) { this.CurrentArchitecture.PlayerAIHire(); } break; case ContextMenuResult.Person_AutoReward: //委任褒奖 this.CurrentArchitecture.AutoRewarding = !this.CurrentArchitecture.AutoRewarding; if (this.CurrentArchitecture.AutoRewarding) { this.CurrentArchitecture.PlayerAIReward(); } break; case ContextMenuResult.Internal_AutoWorking: this.CurrentArchitecture.AutoWorking = !this.CurrentArchitecture.AutoWorking; if (this.CurrentArchitecture.AutoWorking) { this.CurrentArchitecture.PlayerAIWork(); } break; case ContextMenuResult.Tactics_AutoSearching: this.CurrentArchitecture.AutoSearching = !this.CurrentArchitecture.AutoSearching; if (this.CurrentArchitecture.AutoSearching) { this.CurrentArchitecture.PlayerAISearch(); } break; case ContextMenuResult.AllEnter: this.CurrentArchitecture.AllEnter(); //this.Plugins.AirViewPlugin.ReloadTroopView(); this.Scenario.ClearPersonStatusCache(); break; case ContextMenuResult.DateGo_1Day: this.DateGo(1); break; case ContextMenuResult.DateGo_2Days: this.DateGo(2); break; case ContextMenuResult.DateGo_5Days: this.DateGo(5); break; case ContextMenuResult.DateGo_10Days: this.DateGo(10); break; case ContextMenuResult.DateGo_30Days: this.DateGo(30); break; case ContextMenuResult.Jump_Architecture: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Architecture, FrameFunction.Jump, false, true, false, false, base.Scenario.CurrentPlayer.Architectures, null, "跳转", ""); break; case ContextMenuResult.Jump_Troop: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Troop, FrameFunction.Jump, false, true, false, false, base.Scenario.CurrentPlayer.Troops, null, "跳转", ""); break; case ContextMenuResult.Jump_Person: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Jump, false, true, false, false, base.Scenario.CurrentPlayer.Persons, null, "跳转", ""); break; case ContextMenuResult.Switch_Smog: GlobalVariables.DrawMapVeil = !GlobalVariables.DrawMapVeil; break; case ContextMenuResult.Switch_TroopTitle: this.Plugins.TroopTitlePlugin.IsShowing = !this.Plugins.TroopTitlePlugin.IsShowing; break; case ContextMenuResult.Switch_Music: GlobalVariables.PlayMusic = !GlobalVariables.PlayMusic; if (GlobalVariables.PlayMusic) { this.Date_OnSeasonChange(base.Scenario.Date.Season); } else { this.StopMusic(); } break; case ContextMenuResult.Switch_NormalSound: GlobalVariables.PlayNormalSound = !GlobalVariables.PlayNormalSound; break; case ContextMenuResult.Switch_BattleSound: GlobalVariables.PlayBattleSound = !GlobalVariables.PlayBattleSound; break; case ContextMenuResult.Switch_TroopAnimation: GlobalVariables.DrawTroopAnimation = !GlobalVariables.DrawTroopAnimation; break; case ContextMenuResult.Switch_FullScreen: this.ToggleFullScreen(); break; case ContextMenuResult.Switch_SkyEye: GlobalVariables.SkyEye = !GlobalVariables.SkyEye; break; case ContextMenuResult.Switch_MultipleResource: GlobalVariables.MultipleResource = !GlobalVariables.MultipleResource; break; case ContextMenuResult.Information_AllSkills: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Skill, FrameFunction.Browse, false, true, false, false, base.Scenario.GameCommonData.AllSkills.GetSkillList(), null, "", ""); break; case ContextMenuResult.Information_AllTitles: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Title, FrameFunction.Browse, false, true, false, false, base.Scenario.GameCommonData.AllTitles.GetTitleList(), null, "", ""); break; case ContextMenuResult.Information_AllMilitaryKinds: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.MilitaryKind, FrameFunction.Browse, false, true, false, false, base.Scenario.GameCommonData.AllMilitaryKinds.GetMilitaryKindList(), null, "", ""); break; case ContextMenuResult.Information_AllStunts: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Stunt, FrameFunction.Browse, false, true, false, false, base.Scenario.GameCommonData.AllStunts.GetStuntList(), null, "", ""); break; case ContextMenuResult.Information_AllFactions: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Faction, FrameFunction.Browse, false, true, false, false, base.Scenario.Factions, null, "", ""); break; case ContextMenuResult.Information_AllArchitectures: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Architecture, FrameFunction.Browse, false, true, false, false, base.Scenario.Architectures, null, "", ""); break; case ContextMenuResult.Information_AllTroops: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Troop, FrameFunction.Browse, false, true, false, false, base.Scenario.Troops, null, "", ""); break; case ContextMenuResult.Information_AllPersons: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Browse, false, true, false, false, base.Scenario.AvailablePersons, null, "", ""); break; case ContextMenuResult.Information_AllMilitaries: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.Browse, false, true, false, false, base.Scenario.Militaries, null, "", ""); break; case ContextMenuResult.Information_AllFacilities: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Facility, FrameFunction.Browse, false, true, false, false, base.Scenario.GameCommonData.AllFacilityKinds.GetFacilityKindList(), null, "设施种类", ""); break; case ContextMenuResult.Information_AllTerrainDetails: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.TerrainDetail, FrameFunction.Browse, false, true, false, false, base.Scenario.GameCommonData.AllTerrainDetails.GetTerrainDetailList(), null, "", ""); break; case ContextMenuResult.Information_AllSections: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Section, FrameFunction.Browse, false, true, false, false, base.Scenario.Sections, null, "", ""); break; case ContextMenuResult.Information_AllRegions: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Region, FrameFunction.Browse, false, true, false, false, base.Scenario.Regions, null, "", ""); break; case ContextMenuResult.Information_AllStates: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.State, FrameFunction.Browse, false, true, false, false, base.Scenario.States, null, "", ""); break; case ContextMenuResult.Information_AllTreasures: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Treasure, FrameFunction.Browse, false, true, false, false, base.Scenario.Treasures, null, "", ""); break; case ContextMenuResult.Load: this.LoadGame(); break; case ContextMenuResult.Save: this.SaveGame(); break; case ContextMenuResult.System: this.Plugins.GameSystemPlugin.ShowOptionDialog(ShowPosition.Center); break; case ContextMenuResult.TroopMove: this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.TroopDestination)); break; case ContextMenuResult.TroopTarget: this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.TroopTarget)); break; case ContextMenuResult.TroopCombatMethod_Cancel: this.CurrentTroop.CurrentCombatMethod = null; break; case ContextMenuResult.TroopCombatMethod: this.SetTroopCombatMethod(this.Plugins.ContextMenuPlugin.CurrentParamID); break; case ContextMenuResult.TroopStunt: this.SetTroopStunt(this.Plugins.ContextMenuPlugin.CurrentParamID); break; case ContextMenuResult.TroopStratagem_Cancel: this.CurrentTroop.CurrentStratagem = null; if (this.CurrentTroop.Status == TroopStatus.埋伏) { this.CurrentTroop.EndAmbush(); } break; case ContextMenuResult.TroopStratagem_0: //攻心 this.SetTroopStratagem(0); break; case ContextMenuResult.TroopStratagem_1: //扰乱 this.SetTroopStratagem(1); break; case ContextMenuResult.TroopStratagem_2: //侦查 this.SetTroopStratagem(2); this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.TroopInvestigatePosition)); break; case ContextMenuResult.TroopStratagem_3: //埋伏 this.SetTroopStratagem(3); this.CurrentTroop.Operated = true; break; case ContextMenuResult.TroopStratagem_4: //火攻 this.SetTroopStratagem(4); break; case ContextMenuResult.TroopStratagem_5: //镇静 this.SetTroopStratagem(5); break; case ContextMenuResult.TroopStratagem_6: //灭火 this.SetTroopStratagem(6); this.CurrentTroop.SelfCastPosition = this.CurrentTroop.Position; break; case ContextMenuResult.TroopStratagem_7: //鼓舞 this.SetTroopStratagem(7); break; case ContextMenuResult.TroopStratagem_8: //点火 this.SetTroopStratagem(8); this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.TroopSetFirePosition)); break; case ContextMenuResult.TroopStratagem_9: //医治 this.SetTroopStratagem(9); break; case ContextMenuResult.TroopEnter: this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.Trooprucheng)); break; case ContextMenuResult.TroopOccupy: this.CurrentTroop.Operated = true; this.CurrentTroop.Occupy(); this.CurrentTroop.RealDestination = this.CurrentTroop.Position ; this.CurrentTroop.TargetTroop = null; this.CurrentTroop.TargetArchitecture = base.Scenario.GetArchitectureByPosition(this.CurrentTroop.Position); this.CurrentTroop.mingling = "入城"; this.CurrentTroop.minglingweizhi = this.CurrentTroop.Position; break; case ContextMenuResult.TroopAction_LevyFood: this.CurrentTroop.Operated = true; this.CurrentTroop.LevyFood(); this.CurrentTroop.mingling = "——"; break; case ContextMenuResult.TroopCutRouteway: this.CurrentTroop.Leader.TextDestinationString = this.CurrentTroop.CutRoutewayDaysNeeded.ToString(); this.Plugins.tupianwenziPlugin.SetConfirmationDialog(this.Plugins.ConfirmationDialogPlugin, new GameDelegates.VoidFunction(this.CurrentTroop.CutRouteway), null); this.Plugins.ConfirmationDialogPlugin.SetPosition(ShowPosition.Center); this.Plugins.tupianwenziPlugin.SetGameObjectBranch(this.CurrentTroop.Leader, this.CurrentTroop.Leader, "CutRouteway"); this.Plugins.tupianwenziPlugin.IsShowing = true; this.CurrentTroop.mingling = "——"; break; case ContextMenuResult.TroopConfig_AttackDefaultKind: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.AttackDefaultKind, FrameFunction.GetAttackDefaultKind, false, true, true, false, base.Scenario.GameCommonData.AllAttackDefaultKinds, base.Scenario.GameCommonData.AllAttackDefaultKinds.GetSelectedList(this.CurrentTroop.AttackDefaultKind), "攻击默认", ""); break; case ContextMenuResult.TroopConfig_AttackTargetKind: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.AttackTargetKind, FrameFunction.GetAttackTargetKind, false, true, true, false, base.Scenario.GameCommonData.AllAttackTargetKinds, base.Scenario.GameCommonData.AllAttackTargetKinds.GetSelectedList(this.CurrentTroop.AttackTargetKind), "攻击目标", ""); break; case ContextMenuResult.TroopConfig_CastDefaultKind: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.CastDefaultKind, FrameFunction.GetCastDefaultKind, false, true, true, false, base.Scenario.GameCommonData.AllCastDefaultKinds, base.Scenario.GameCommonData.AllCastDefaultKinds.GetSelectedList(this.CurrentTroop.CastDefaultKind), "施展默认", ""); break; case ContextMenuResult.TroopConfig_CastTargetKind: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.CastTargetKind, FrameFunction.GetCastTargetKind, false, true, true, false, base.Scenario.GameCommonData.AllCastTargetKinds, base.Scenario.GameCommonData.AllCastTargetKinds.GetSelectedList(this.CurrentTroop.CastTargetKind), "施展目标", ""); break; case ContextMenuResult.TroopSetAuto: this.CurrentTroop.Auto = !this.CurrentTroop.Auto; if (!this.CurrentTroop.Auto) { this.CurrentTroop.CurrentCombatMethod = null; this.CurrentTroop.CurrentStratagem = null; this.CurrentTroop.TargetTroop = null; this.CurrentTroop.TargetArchitecture = null; this.CurrentTroop.AttackDefaultKind = TroopAttackDefaultKind.防最弱; this.CurrentTroop.AttackTargetKind = TroopAttackTargetKind.遇敌; this.CurrentTroop.CastDefaultKind = TroopCastDefaultKind.智最弱; this.CurrentTroop.CastTargetKind = TroopCastTargetKind.可能; break; } if (this.CurrentTroop.BelongedLegion != null) { this.CurrentTroop.BelongedLegion.ResetCoreTroop(); this.CurrentTroop.AI(); } break; case ContextMenuResult.TroopIdle: this.CurrentTroop.Operated = true; this.CurrentTroop.mingling = "待命"; break; case ContextMenuResult.TroopDetail: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Troop, FrameFunction.Browse, true, true, false, false, this.CurrentTroop.GetGameObjectList(), null, "", ""); break; case ContextMenuResult.TroopPersons: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Browse, true, true, false, false, this.CurrentTroop.Persons, null, "", ""); break; case ContextMenuResult.TroopMilitary: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.Browse, true, true, false, false, this.CurrentTroop.Army.GetGameObjectList(), null, "", ""); break; case ContextMenuResult.TroopCaptive: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.Browse, true, true, false, false, this.CurrentTroop.Captives, null, "", ""); break; case ContextMenuResult.TroopTreasure: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Treasure, FrameFunction.Browse, true, true, false, false, this.CurrentTroop.GetTreasureList(), null, "", ""); break; case ContextMenuResult.Plugins: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Plugin, FrameFunction.Browse, true, true, false, false, base.PluginList, null, "", ""); break; case ContextMenuResult.CurrentArchitectureLeftClick: if (!this.Plugins.ContextMenuPlugin.IsShowing) { this.Plugins.ContextMenuPlugin.IsShowing = true; this.Plugins.ContextMenuPlugin.SetCurrentGameObject(this.CurrentArchitecture); this.Plugins.ContextMenuPlugin.SetMenuKindByName("ArchitectureLeftClick"); this.Plugins.ContextMenuPlugin.Prepare(this.mouseState.X, this.mouseState.Y, base.viewportSize); this.bianduiLiebiaoBiaoji = "ArchitectureLeftClick"; this.ShowBianduiLiebiao(UndoneWorkKind.None, FrameKind.Military, FrameFunction.Browse, false, true, false, true, this.CurrentArchitecture.Militaries, this.CurrentArchitecture.ZhengzaiBuchongDeBiandui(), "", "", this.CurrentArchitecture.MilitaryPopulation); this.ShowArchitectureSurveyPlugin(this.CurrentArchitecture); } break; case ContextMenuResult.CurrentTroopLeftClick: if (!this.Plugins.ContextMenuPlugin.IsShowing) { this.Plugins.ContextMenuPlugin.IsShowing = true; this.Plugins.ContextMenuPlugin.SetCurrentGameObject(this.CurrentTroop); this.Plugins.ContextMenuPlugin.SetMenuKindByName("TroopLeftClick"); this.Plugins.ContextMenuPlugin.Prepare(this.mouseState.X, this.mouseState.Y, base.viewportSize); this.bianduiLiebiaoBiaoji = "TroopLeftClick"; } break; case ContextMenuResult.CurrentArchitectureRightClick: if (!this.Plugins.ContextMenuPlugin.IsShowing) { this.Plugins.ContextMenuPlugin.IsShowing = true; this.Plugins.ContextMenuPlugin.SetCurrentGameObject(this.CurrentArchitecture); this.Plugins.ContextMenuPlugin.SetMenuKindByName("ArchitectureRightClick"); this.Plugins.ContextMenuPlugin.Prepare(this.mouseState.X, this.mouseState.Y, base.viewportSize); this.bianduiLiebiaoBiaoji = "ArchitectureRightClick"; } break; case ContextMenuResult.CurrentTroopRightClick: if (!this.Plugins.ContextMenuPlugin.IsShowing) { this.Plugins.ContextMenuPlugin.IsShowing = true; this.Plugins.ContextMenuPlugin.SetCurrentGameObject(this.CurrentTroop); this.Plugins.ContextMenuPlugin.SetMenuKindByName("TroopRightClick"); this.Plugins.ContextMenuPlugin.Prepare(this.mouseState.X, this.mouseState.Y, base.viewportSize); this.bianduiLiebiaoBiaoji = "TroopRightClick"; } break; case ContextMenuResult.CurrentRoutewayRightClick: if (!this.Plugins.ContextMenuPlugin.IsShowing) { this.Plugins.ContextMenuPlugin.IsShowing = true; this.Plugins.ContextMenuPlugin.SetCurrentGameObject(this.CurrentRouteway); this.Plugins.ContextMenuPlugin.SetMenuKindByName("RoutewayRightClick"); this.Plugins.ContextMenuPlugin.Prepare(this.mouseState.X, this.mouseState.Y, base.viewportSize); this.bianduiLiebiaoBiaoji = "RoutewayRightClick"; } break; case ContextMenuResult.YearTable: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.YearTable, FrameFunction.Browse, false, true, false, false, base.Scenario.getFactionYearTable(base.Scenario.CurrentFaction), null, "年表", ""); break; case ContextMenuResult.ChangeFaction: this.changeFaction(); break; } }
private void Prepare() { this.Result = ContextMenuResult.None; this.menuToDisplay.Prepare(); }
private void safeItemAndClose(Button btn) { switch (btn.Name) { case "_btn_Navigate": _result = ContextMenuResult.Navigate; break; case "_btn_Keyboard": _result = ContextMenuResult.Keyboard; break; case "_btn_Magnifier": _result = ContextMenuResult.Magnifier; break; case "_btn_Favourites": _result = ContextMenuResult.Favourites; break; case "_btn_Shortcuts": _result = ContextMenuResult.Shortcuts; break; case "_btn_DoubleClick": _result = ContextMenuResult.DoubleClick; break; case "_btn_Rightclick": _result = ContextMenuResult.RightClick; break; case "_btn_Tab": _result = ContextMenuResult.Tab; break; case "_btn_Esc": _result = ContextMenuResult.Esc; break; case "_btn_F5": _result = ContextMenuResult.F5; break; } this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); }
private void HandleContextMenuResult(ContextMenuResult result) { GameDelegates.VoidFunction function = null; GameDelegates.VoidFunction function2 = null; GameDelegates.VoidFunction function3 = null; GameDelegates.VoidFunction function4 = null; switch (result) { case ContextMenuResult.Architecture_Detail: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Architecture, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.GetGameObjectList(), null, "", ""); break; case ContextMenuResult.Architecture_Persons: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.GetAllPersons(), null, "", ""); break; case ContextMenuResult.Architecture_Militaries: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.Militaries.GetList(), null, "", ""); break; case ContextMenuResult.Architecture_NoFactionPersons: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.NoFactionPersons.GetList(), null, "在野人物", ""); break; case ContextMenuResult.Architecture_Facilities: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Facility, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.Facilities.GetList(), null, "", ""); break; case ContextMenuResult.Architecture_Captive: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.Browse, true, true, false, false, this.CurrentArchitecture.Captives.GetList(), null, "", ""); break; case ContextMenuResult.Architecture_Treasure: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Treasure, FrameFunction.Browse, true, true, false, false, this.CurrentArchitecture.GetAllTreasureInArchitecture(), null, "", ""); break; //case ContextMenuResult.Architecture_xiangxixinxi: // break; case ContextMenuResult.Faction_Detail: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Faction, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.GetGameObjectList(), null, "", ""); } break; case ContextMenuResult.Faction_Architectures: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Architecture, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.Architectures.GetList(), null, "", ""); } break; case ContextMenuResult.Faction_Troops: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Troop, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.Troops.GetList(), null, "", ""); } break; case ContextMenuResult.Faction_Persons: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.Persons.GetList(), null, "", ""); } break; case ContextMenuResult.Faction_Militaries: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.Militaries.GetList(), null, "", ""); } break; case ContextMenuResult.Faction_AvailableMilitaryKinds: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.MilitaryKind, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.AvailableMilitaryKinds.GetMilitaryKindList(), null, "", ""); } break; case ContextMenuResult.Faction_Captive: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.Browse, true, true, false, false, this.CurrentArchitecture.BelongedFaction.Captives.GetList(), null, "", ""); } break; case ContextMenuResult.Faction_SelfCaptive: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.Browse, true, true, false, false, this.CurrentArchitecture.BelongedFaction.SelfCaptives.GetList(), null, "被俘虏列表", ""); } break; case ContextMenuResult.Faction_DiplomaticRelations: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.DiplomaticRelation, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.Scenario.DiplomaticRelations.GetDiplomaticRelationDisplayListByFactionID(this.CurrentArchitecture.BelongedFaction.ID), null, "", ""); } break; case ContextMenuResult.Faction_Techniques: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowFactionTechniques(this.CurrentArchitecture.BelongedFaction, this.CurrentArchitecture); } break; case ContextMenuResult.Faction_Sections: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Section, FrameFunction.Browse, false, true, false, false, this.CurrentArchitecture.BelongedFaction.Sections, null, "", ""); } break; case ContextMenuResult.Faction_Treasure: if (this.CurrentArchitecture.BelongedFaction != null) { this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Treasure, FrameFunction.Browse, true, true, false, false, this.CurrentArchitecture.GetAllTreasureInFaction(), null, "", ""); } break; case ContextMenuResult.Internal_StopWork: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.无; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, null, "停止工作", ""); break; case ContextMenuResult.Internal_Agriculture: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.农业; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.AgricultureWorkingPersons, "农业", "农业"); break; case ContextMenuResult.Internal_Commerce: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.商业; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.CommerceWorkingPersons, "商业", "商业"); break; case ContextMenuResult.Internal_Technology: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.技术; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.TechnologyWorkingPersons, "技术", "技术"); break; case ContextMenuResult.Internal_Domination: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.统治; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.DominationWorkingPersons, "统治", "统治"); break; case ContextMenuResult.Internal_Morale: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.民心; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.MoraleWorkingPersons, "民心", "民心"); break; case ContextMenuResult.Internal_Endurance: this.screenManager.CurrentArchitectureWorkKind = ArchitectureWorkKind.耐久; this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.Architecture_WorkingList, true, true, true, true, this.CurrentArchitecture.Persons, this.CurrentArchitecture.EnduranceWorkingPersons, "耐久", "耐久"); break; case ContextMenuResult.Internal_Facility_Build: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Facility, FrameFunction.GetFacilityToBuild, false, true, true, false, this.CurrentArchitecture.GetBuildableFacilityKindList(), null, "选择设施", ""); break; case ContextMenuResult.Internal_Facility_Demolish: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Facility, FrameFunction.GetFacilityToDemolish, false, true, true, true, this.CurrentArchitecture.Facilities, null, "选择设施", ""); break; case ContextMenuResult.Internal_Trade_BuyFood: this.Plugins.NumberInputerPlugin.SetMax(this.CurrentArchitecture.Fund); this.Plugins.NumberInputerPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.NumberInputerPlugin.SetDepthOffset(-0.01f); if (function == null) { function = delegate { this.CurrentArchitecture.BuyFood(this.Plugins.NumberInputerPlugin.Number); }; } this.Plugins.NumberInputerPlugin.SetEnterFunction(function); this.Plugins.NumberInputerPlugin.IsShowing = true; break; case ContextMenuResult.Internal_Trade_SellFood: this.Plugins.NumberInputerPlugin.SetMax(this.CurrentArchitecture.Food); this.Plugins.NumberInputerPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.NumberInputerPlugin.SetDepthOffset(-0.01f); if (function2 == null) { function2 = delegate { this.CurrentArchitecture.SellFood(this.Plugins.NumberInputerPlugin.Number); }; } this.Plugins.NumberInputerPlugin.SetEnterFunction(function2); this.Plugins.NumberInputerPlugin.IsShowing = true; break; case ContextMenuResult.Military_Campaign: if (function3 == null) { function3 = delegate { this.CurrentArchitecture = this.Plugins.CreateTroopPlugin.CreatingArchitecture as Architecture; this.CurrentMilitary = this.Plugins.CreateTroopPlugin.CreatingMilitary as Military; this.CurrentGameObjects = this.Plugins.CreateTroopPlugin.CreatingPersons as GameObjectList; this.CurrentPerson = this.Plugins.CreateTroopPlugin.CreatingLeader as Person; this.CurrentNumber = this.Plugins.CreateTroopPlugin.CreatingFood; }; } this.Plugins.CreateTroopPlugin.SetCreateFunction(function3); this.Plugins.CreateTroopPlugin.SetShellMilitaryKind(null); this.Plugins.CreateTroopPlugin.SetArchitecture(this.CurrentArchitecture); this.Plugins.CreateTroopPlugin.SetPosition(ShowPosition.Center); this.Plugins.CreateTroopPlugin.IsShowing = true; break; case ContextMenuResult.Military_Troopership: if (function4 == null) { function4 = delegate { this.CurrentArchitecture = this.Plugins.CreateTroopPlugin.CreatingArchitecture as Architecture; this.CurrentMilitary = this.Plugins.CreateTroopPlugin.CreatingMilitary as Military; this.CurrentGameObjects = this.Plugins.CreateTroopPlugin.CreatingPersons as GameObjectList; this.CurrentPerson = this.Plugins.CreateTroopPlugin.CreatingLeader as Person; this.CurrentNumber = this.Plugins.CreateTroopPlugin.CreatingFood; }; } this.Plugins.CreateTroopPlugin.SetCreateFunction(function4); this.Plugins.CreateTroopPlugin.SetShellMilitaryKind(base.Scenario.GameCommonData.AllMilitaryKinds.GetMilitaryKind(0x1c)); this.Plugins.CreateTroopPlugin.SetArchitecture(this.CurrentArchitecture); this.Plugins.CreateTroopPlugin.SetPosition(ShowPosition.Center); this.Plugins.CreateTroopPlugin.IsShowing = true; break; case ContextMenuResult.Military_Training: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.GetTrainingMilitary, false, true, true, false, this.CurrentArchitecture.GetTrainingMilitaryList(), null, "选择编队", ""); break; case ContextMenuResult.Military_New: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.MilitaryKind, FrameFunction.GetNewMilitaryKind, false, true, true, false, this.CurrentArchitecture.GetNewMilitaryKindList(), null, "选择兵种", ""); break; case ContextMenuResult.Military_Recruitment: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.GetRecruitmentMilitary, false, true, true, false, this.CurrentArchitecture.GetRecruitmentMilitaryList(), null, "选择编队", ""); break; case ContextMenuResult.Military_Merge: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.GetMergeMilitary, false, true, true, false, this.CurrentArchitecture.GetMergeMilitaryList(), null, "选择编队", ""); break; case ContextMenuResult.Military_Disband: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.GetBeDisbandedMilitaries, false, true, true, true, this.CurrentArchitecture.Militaries, null, "解散编队", ""); break; case ContextMenuResult.Military_LevelUp: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.GetLevelUpMilitaries, false, true, true, true, this.CurrentArchitecture.GetLevelUpMilitaryList(), null, "选择编队", ""); break; case ContextMenuResult.Transport_Routeway_Design: this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.ArchitectureRoutewayStartPoint)); break; case ContextMenuResult.Transport_Routeway_PointShortestNormal: this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.RoutewayPointShortestNormal)); break; case ContextMenuResult.Transport_Routeway_PointShortestNoWater: this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.RoutewayPointShortestNoWater)); break; case ContextMenuResult.Transport_Routeway_ArchitectureShortestNormal: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.SimpleArchitecture, FrameFunction.GetShortestRouteway, false, true, true, true, this.CurrentArchitecture.GetAILinks(2), null, "粮道", ""); break; case ContextMenuResult.Transport_Routeway_ArchitectureShortestNoWater: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.SimpleArchitecture, FrameFunction.GetShortestNoWaterRouteway, false, true, true, true, this.CurrentArchitecture.GetAILinks(2), null, "粮道", ""); break; case ContextMenuResult.Transport_Routeway_CloseAll: this.CurrentArchitecture.CloseAllRouteways(); break; case ContextMenuResult.Transport_Routeway_DemolishAll: this.CurrentArchitecture.DemolishAllRouteways(); break; case ContextMenuResult.Transport_Fund: this.Plugins.TransportDialogPlugin.SetSourceArchiecture(this.CurrentArchitecture); this.Plugins.TransportDialogPlugin.SetKind(TransportKind.Fund); this.Plugins.TransportDialogPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.TransportDialogPlugin.IsShowing = true; break; case ContextMenuResult.Transport_Food: this.Plugins.TransportDialogPlugin.SetSourceArchiecture(this.CurrentArchitecture); this.Plugins.TransportDialogPlugin.SetKind(TransportKind.Food); this.Plugins.TransportDialogPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.TransportDialogPlugin.IsShowing = true; break; case ContextMenuResult.Person_Transfer: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.PersonTransfer, false, true, true, true, this.CurrentArchitecture.Persons, null, "调动", ""); break; case ContextMenuResult.Person_Convene: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.PersonConvene, false, true, true, true, this.CurrentArchitecture.GetPersonConveneList(), null, "召集", ""); break; case ContextMenuResult.Person_Hire: this.CurrentArchitecture.HireNoFactionPerson(); break; case ContextMenuResult.Person_Convince: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.ConvincePersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetConvinceSourcePerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "说服", "说服"); break; case ContextMenuResult.Person_Reward: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.RewardPersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.GetRewardPerson, false, true, true, true, this.CurrentArchitecture.GetRewardPersons(), null, "褒奖", "Personal"); break; case ContextMenuResult.Person_RewardAll: this.CurrentArchitecture.RewardAll(); break; case ContextMenuResult.Person_Redeem: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.GetRedeemCaptive, false, true, true, false, this.CurrentArchitecture.GetRedeemCaptiveList(), null, "赎回俘虏", ""); break; case ContextMenuResult.Person_Study_Skill: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.GetStudySkillPerson, false, true, true, true, this.CurrentArchitecture.GetPersonStudySkillList(), null, "研习", ""); break; case ContextMenuResult.Person_Study_Title: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.GetStudyTitlePerson, false, true, true, false, this.CurrentArchitecture.GetPersonStudyTitleList(), null, "研习", ""); break; case ContextMenuResult.Person_Study_Stunt: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.GetStudyStuntPerson, false, true, true, false, this.CurrentArchitecture.GetPersonStudyStuntList(), null, "研习", ""); break; case ContextMenuResult.RoutewayEdit: this.Plugins.RoutewayEditorPlugin.SetRouteway(this.CurrentRouteway); this.Plugins.RoutewayEditorPlugin.IsShowing = true; break; case ContextMenuResult.RoutewayShowArea: this.CurrentRouteway.ShowArea = !this.CurrentRouteway.ShowArea; break; case ContextMenuResult.RoutewayBuild: this.CurrentRouteway.Build(); break; case ContextMenuResult.RoutewayClose: this.CurrentRouteway.CloseAt(this.position); break; case ContextMenuResult.RoutewayDemolish: this.TryToDemolishRouteway(); break; case ContextMenuResult.Tactics_Information: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.InformationKind, FrameFunction.GetInformationKind, false, true, true, false, base.Scenario.GameCommonData.AllInformationKinds.GetAvailList(this.CurrentArchitecture), null, "情报种类", ""); break; case ContextMenuResult.Tactics_Spy: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.SpyPersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetSpyPerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "间谍", "间谍"); break; case ContextMenuResult.Tactics_Destroy: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.DestroyPersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetDestroyPerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "破坏", "破坏"); break; case ContextMenuResult.Tactics_Instigate: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.InstigatePersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetInstigatePerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "煽动", "煽动"); break; case ContextMenuResult.Tactics_Gossip: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.GossipPersonMaxCount); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetGossipPerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "流言", "流言"); break; case ContextMenuResult.Tactics_Search: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Work, FrameFunction.GetSearchPerson, false, true, true, true, this.CurrentArchitecture.Persons, null, "搜索", "搜索"); break; case ContextMenuResult.Tactics_ClearField: this.Plugins.ConfirmationDialogPlugin.SetSimpleTextDialog(this.Plugins.SimpleTextDialogPlugin); this.Plugins.ConfirmationDialogPlugin.ClearFunctions(); this.Plugins.ConfirmationDialogPlugin.AddYesFunction(new GameDelegates.VoidFunction(this.CurrentArchitecture.ClearField)); this.Plugins.ConfirmationDialogPlugin.SetPosition(ShowPosition.Center); this.Plugins.SimpleTextDialogPlugin.SetGameObjectBranch(this.CurrentArchitecture, "ClearField"); this.Plugins.ConfirmationDialogPlugin.IsShowing = true; break; case ContextMenuResult.Monarch_ChangeCapital: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Architecture, FrameFunction.GetNewCapital, false, true, true, false, this.CurrentArchitecture.GetChangeCapitalArchitectureList(), null, "迁都", ""); break; case ContextMenuResult.Monarch_ResetDiplomaticRelation: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.DiplomaticRelation, FrameFunction.GetFriendlyDiplomaticRelation, false, true, true, true, this.CurrentArchitecture.GetResetDiplomaticRelationList(), null, "断交", ""); break; case ContextMenuResult.Monarch_Techniques: this.ShowFactionTechniques(this.CurrentArchitecture.BelongedFaction, this.CurrentArchitecture); break; case ContextMenuResult.Monarch_ReleaseCaptive: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.GetReleaseCaptive, false, true, true, true, this.CurrentArchitecture.BelongedFaction.Captives, null, "释放俘虏", ""); break; case ContextMenuResult.Monarch_Refuse: this.CurrentArchitecture.BelongedFaction.AutoRefuse = !this.CurrentArchitecture.BelongedFaction.AutoRefuse; break; case ContextMenuResult.Monarch_Treasure_Confiscate: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Treasure, FrameFunction.GetConfiscateTreasure, false, true, true, false, this.CurrentArchitecture.GetAllTreasureInArchitectureExceptLeader(), null, "", ""); break; case ContextMenuResult.Monarch_Treasure_Award: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Treasure, FrameFunction.GetAwardTreasure, false, true, true, false, this.CurrentArchitecture.GetTreasureListOfLeader(), null, "", ""); break; case ContextMenuResult.Auto_Section_New: this.Plugins.MarshalSectionDialogPlugin.SetFaction(this.CurrentArchitecture.BelongedFaction); this.Plugins.MarshalSectionDialogPlugin.SetSection(null); this.Plugins.MarshalSectionDialogPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.MarshalSectionDialogPlugin.IsShowing = true; break; case ContextMenuResult.Auto_Section_Regroup: this.Plugins.MarshalSectionDialogPlugin.SetFaction(this.CurrentArchitecture.BelongedFaction); this.Plugins.MarshalSectionDialogPlugin.SetSection(this.CurrentArchitecture.BelongedSection); this.Plugins.MarshalSectionDialogPlugin.SetMapPosition(ShowPosition.Center); this.Plugins.MarshalSectionDialogPlugin.IsShowing = true; break; case ContextMenuResult.Auto_Section_Disband: this.Plugins.TabListPlugin.SetSelectedItemMaxCount(this.CurrentArchitecture.BelongedFaction.SectionCount - 1); this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Section, FrameFunction.GetSectionToDemolish, false, true, true, true, this.CurrentArchitecture.BelongedFaction.Sections, null, "", ""); break; case ContextMenuResult.Auto_Hiring: this.CurrentArchitecture.AutoHiring = !this.CurrentArchitecture.AutoHiring; if (this.CurrentArchitecture.AutoHiring) { this.CurrentArchitecture.PlayerAIHire(); } break; case ContextMenuResult.Auto_Rewarding: this.CurrentArchitecture.AutoRewarding = !this.CurrentArchitecture.AutoRewarding; if (this.CurrentArchitecture.AutoRewarding) { this.CurrentArchitecture.PlayerAIReward(); } break; case ContextMenuResult.Auto_Working: this.CurrentArchitecture.AutoWorking = !this.CurrentArchitecture.AutoWorking; if (this.CurrentArchitecture.AutoWorking) { this.CurrentArchitecture.PlayerAIWork(); } break; case ContextMenuResult.Auto_Searching: this.CurrentArchitecture.AutoSearching = !this.CurrentArchitecture.AutoSearching; if (this.CurrentArchitecture.AutoSearching) { this.CurrentArchitecture.PlayerAISearch(); } break; case ContextMenuResult.AllEnter: this.CurrentArchitecture.AllEnter(); break; case ContextMenuResult.DateGo_1Day: this.DateGo(1); break; case ContextMenuResult.DateGo_2Days: this.DateGo(2); break; case ContextMenuResult.DateGo_5Days: this.DateGo(5); break; case ContextMenuResult.DateGo_10Days: this.DateGo(10); break; case ContextMenuResult.DateGo_30Days: this.DateGo(30); break; case ContextMenuResult.Jump_Architecture: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Architecture, FrameFunction.Jump, false, true, false, false, base.Scenario.CurrentPlayer.Architectures, null, "跳转", ""); break; case ContextMenuResult.Jump_Troop: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Troop, FrameFunction.Jump, false, true, false, false, base.Scenario.CurrentPlayer.Troops, null, "跳转", ""); break; case ContextMenuResult.Jump_Person: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Jump, false, true, false, false, base.Scenario.CurrentPlayer.Persons, null, "跳转", ""); break; case ContextMenuResult.Switch_Smog: GlobalVariables.DrawMapVeil = !GlobalVariables.DrawMapVeil; break; case ContextMenuResult.Switch_TroopTitle: this.Plugins.TroopTitlePlugin.IsShowing = !this.Plugins.TroopTitlePlugin.IsShowing; break; case ContextMenuResult.Switch_Music: GlobalVariables.PlayMusic = !GlobalVariables.PlayMusic; if (GlobalVariables.PlayMusic) { this.Date_OnSeasonChange(base.Scenario.Date.Season); } else { this.StopMusic(); } break; case ContextMenuResult.Switch_NormalSound: GlobalVariables.PlayNormalSound = !GlobalVariables.PlayNormalSound; break; case ContextMenuResult.Switch_BattleSound: GlobalVariables.PlayBattleSound = !GlobalVariables.PlayBattleSound; break; case ContextMenuResult.Switch_TroopAnimation: GlobalVariables.DrawTroopAnimation = !GlobalVariables.DrawTroopAnimation; break; case ContextMenuResult.Switch_FullScreen: this.ToggleFullScreen(); break; case ContextMenuResult.Switch_SkyEye: GlobalVariables.SkyEye = !GlobalVariables.SkyEye; break; case ContextMenuResult.Switch_MultipleResource: GlobalVariables.MultipleResource = !GlobalVariables.MultipleResource; break; case ContextMenuResult.Information_AllSkills: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Skill, FrameFunction.Browse, false, true, false, false, base.Scenario.GameCommonData.AllSkills.GetSkillList(), null, "", ""); break; case ContextMenuResult.Information_AllTitles: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Title, FrameFunction.Browse, false, true, false, false, base.Scenario.GameCommonData.AllTitles.GetTitleList(), null, "", ""); break; case ContextMenuResult.Information_AllMilitaryKinds: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.MilitaryKind, FrameFunction.Browse, false, true, false, false, base.Scenario.GameCommonData.AllMilitaryKinds.GetMilitaryKindList(), null, "", ""); break; case ContextMenuResult.Information_AllStunts: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Stunt, FrameFunction.Browse, false, true, false, false, base.Scenario.GameCommonData.AllStunts.GetStuntList(), null, "", ""); break; case ContextMenuResult.Information_AllFactions: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Faction, FrameFunction.Browse, false, true, false, false, base.Scenario.Factions, null, "", ""); break; case ContextMenuResult.Information_AllArchitectures: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Architecture, FrameFunction.Browse, false, true, false, false, base.Scenario.Architectures, null, "", ""); break; case ContextMenuResult.Information_AllTroops: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Troop, FrameFunction.Browse, false, true, false, false, base.Scenario.Troops, null, "", ""); break; case ContextMenuResult.Information_AllPersons: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Browse, false, true, false, false, base.Scenario.AvailablePersons, null, "", ""); break; case ContextMenuResult.Information_AllMilitaries: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.Browse, false, true, false, false, base.Scenario.Militaries, null, "", ""); break; case ContextMenuResult.Information_AllFacilities: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Facility, FrameFunction.Browse, false, true, false, false, base.Scenario.GameCommonData.AllFacilityKinds.GetFacilityKindList(), null, "设施种类", ""); break; case ContextMenuResult.Information_AllTerrainDetails: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.TerrainDetail, FrameFunction.Browse, false, true, false, false, base.Scenario.GameCommonData.AllTerrainDetails.GetTerrainDetailList(), null, "", ""); break; case ContextMenuResult.Information_AllSections: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Section, FrameFunction.Browse, false, true, false, false, base.Scenario.Sections, null, "", ""); break; case ContextMenuResult.Information_AllRegions: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Region, FrameFunction.Browse, false, true, false, false, base.Scenario.Regions, null, "", ""); break; case ContextMenuResult.Information_AllStates: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.State, FrameFunction.Browse, false, true, false, false, base.Scenario.States, null, "", ""); break; case ContextMenuResult.Information_AllTreasures: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Treasure, FrameFunction.Browse, false, true, false, false, base.Scenario.Treasures, null, "", ""); break; case ContextMenuResult.Load: this.LoadGame(); break; case ContextMenuResult.Save: this.SaveGame(); break; case ContextMenuResult.System: this.Plugins.GameSystemPlugin.ShowOptionDialog(ShowPosition.Center); break; case ContextMenuResult.TroopMove: //this.CurrentTroop.Operated = true; this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.TroopDestination)); break; case ContextMenuResult.TroopTarget: this.CurrentTroop.Operated = true; this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.TroopTarget)); break; case ContextMenuResult.TroopCombatMethod_Cancel: this.CurrentTroop.CurrentCombatMethod = null; break; case ContextMenuResult.TroopCombatMethod: this.SetTroopCombatMethod(this.Plugins.ContextMenuPlugin.CurrentParamID); break; case ContextMenuResult.TroopStunt: this.SetTroopStunt(this.Plugins.ContextMenuPlugin.CurrentParamID); break; case ContextMenuResult.TroopStratagem_Cancel: this.CurrentTroop.CurrentStratagem = null; if (this.CurrentTroop.Status == TroopStatus.埋伏) { this.CurrentTroop.EndAmbush(); } break; case ContextMenuResult.TroopStratagem_0: this.SetTroopStratagem(0); break; case ContextMenuResult.TroopStratagem_1: this.SetTroopStratagem(1); break; case ContextMenuResult.TroopStratagem_2: this.SetTroopStratagem(2); this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.TroopInvestigatePosition)); break; case ContextMenuResult.TroopStratagem_3: this.SetTroopStratagem(3); break; case ContextMenuResult.TroopStratagem_4: this.SetTroopStratagem(4); break; case ContextMenuResult.TroopStratagem_5: this.SetTroopStratagem(5); break; case ContextMenuResult.TroopStratagem_6: this.SetTroopStratagem(6); this.CurrentTroop.SelfCastPosition = this.CurrentTroop.Position; break; case ContextMenuResult.TroopStratagem_7: this.SetTroopStratagem(7); break; case ContextMenuResult.TroopStratagem_8: this.SetTroopStratagem(8); this.PushUndoneWork(new UndoneWorkItem(UndoneWorkKind.Selecting, SelectingUndoneWorkKind.TroopSetFirePosition)); break; case ContextMenuResult.TroopStratagem_9: this.SetTroopStratagem(9); break; case ContextMenuResult.TroopEnter: this.CurrentTroop.Enter(); this.CurrentTroop = null; break; case ContextMenuResult.TroopOccupy: this.CurrentTroop.Occupy(); break; case ContextMenuResult.TroopAction_LevyFood: this.CurrentTroop.Operated = true; this.CurrentTroop.LevyFood(); break; case ContextMenuResult.TroopAction_CutRouteway: this.CurrentTroop.Leader.TextDestinationString = this.CurrentTroop.CutRoutewayDaysNeeded.ToString(); this.Plugins.PersonTextDialogPlugin.SetConfirmationDialog(this.Plugins.ConfirmationDialogPlugin, new GameDelegates.VoidFunction(this.CurrentTroop.CutRouteway), null); this.Plugins.ConfirmationDialogPlugin.SetPosition(ShowPosition.Center); this.Plugins.PersonTextDialogPlugin.SetGameObjectBranch(this.CurrentTroop.Leader, this.CurrentTroop.Leader, "CutRouteway"); this.Plugins.PersonTextDialogPlugin.IsShowing = true; break; case ContextMenuResult.TroopConfig_AttackDefaultKind: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.AttackDefaultKind, FrameFunction.GetAttackDefaultKind, false, true, true, false, base.Scenario.GameCommonData.AllAttackDefaultKinds, base.Scenario.GameCommonData.AllAttackDefaultKinds.GetSelectedList(this.CurrentTroop.AttackDefaultKind), "攻击默认", ""); break; case ContextMenuResult.TroopConfig_AttackTargetKind: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.AttackTargetKind, FrameFunction.GetAttackTargetKind, false, true, true, false, base.Scenario.GameCommonData.AllAttackTargetKinds, base.Scenario.GameCommonData.AllAttackTargetKinds.GetSelectedList(this.CurrentTroop.AttackTargetKind), "攻击目标", ""); break; case ContextMenuResult.TroopConfig_CastDefaultKind: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.CastDefaultKind, FrameFunction.GetCastDefaultKind, false, true, true, false, base.Scenario.GameCommonData.AllCastDefaultKinds, base.Scenario.GameCommonData.AllCastDefaultKinds.GetSelectedList(this.CurrentTroop.CastDefaultKind), "施展默认", ""); break; case ContextMenuResult.TroopConfig_CastTargetKind: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.CastTargetKind, FrameFunction.GetCastTargetKind, false, true, true, false, base.Scenario.GameCommonData.AllCastTargetKinds, base.Scenario.GameCommonData.AllCastTargetKinds.GetSelectedList(this.CurrentTroop.CastTargetKind), "施展目标", ""); break; case ContextMenuResult.TroopConfig_SetAuto: this.CurrentTroop.Auto = !this.CurrentTroop.Auto; if (!this.CurrentTroop.Auto) { this.CurrentTroop.CurrentCombatMethod = null; this.CurrentTroop.CurrentStratagem = null; this.CurrentTroop.TargetTroop = null; this.CurrentTroop.TargetArchitecture = null; this.CurrentTroop.AttackDefaultKind = TroopAttackDefaultKind.防最弱; this.CurrentTroop.AttackTargetKind = TroopAttackTargetKind.遇敌; this.CurrentTroop.CastDefaultKind = TroopCastDefaultKind.智最弱; this.CurrentTroop.CastTargetKind = TroopCastTargetKind.可能; break; } if (this.CurrentTroop.BelongedLegion != null) { this.CurrentTroop.BelongedLegion.ResetCoreTroop(); this.CurrentTroop.AI(); } break; case ContextMenuResult.TroopDetail: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Troop, FrameFunction.Browse, true, true, false, false, this.CurrentTroop.GetGameObjectList(), null, "", ""); break; case ContextMenuResult.TroopPersons: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Person, FrameFunction.Browse, true, true, false, false, this.CurrentTroop.Persons, null, "", ""); break; case ContextMenuResult.TroopMilitary: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Military, FrameFunction.Browse, true, true, false, false, this.CurrentTroop.Army.GetGameObjectList(), null, "", ""); break; case ContextMenuResult.TroopCaptive: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Captive, FrameFunction.Browse, true, true, false, false, this.CurrentTroop.Captives, null, "", ""); break; case ContextMenuResult.TroopTreasure: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Treasure, FrameFunction.Browse, true, true, false, false, this.CurrentTroop.GetTreasureList(), null, "", ""); break; case ContextMenuResult.Plugins: this.ShowTabListInFrame(UndoneWorkKind.Frame, FrameKind.Plugin, FrameFunction.Browse, true, true, false, false, base.PluginList, null, "", ""); break; case ContextMenuResult.CurrentArchitectureLeftClick: if (!this.Plugins.ContextMenuPlugin.IsShowing) { this.Plugins.ContextMenuPlugin.IsShowing = true; this.Plugins.ContextMenuPlugin.SetCurrentGameObject(this.CurrentArchitecture); this.Plugins.ContextMenuPlugin.SetMenuKindByName("ArchitectureLeftClick"); this.Plugins.ContextMenuPlugin.Prepare(this.mouseState.X, this.mouseState.Y, base.viewportSize); } break; case ContextMenuResult.CurrentTroopLeftClick: if (!this.Plugins.ContextMenuPlugin.IsShowing) { this.Plugins.ContextMenuPlugin.IsShowing = true; this.Plugins.ContextMenuPlugin.SetCurrentGameObject(this.CurrentTroop); this.Plugins.ContextMenuPlugin.SetMenuKindByName("TroopLeftClick"); this.Plugins.ContextMenuPlugin.Prepare(this.mouseState.X, this.mouseState.Y, base.viewportSize); } break; case ContextMenuResult.CurrentArchitectureRightClick: if (!this.Plugins.ContextMenuPlugin.IsShowing) { this.Plugins.ContextMenuPlugin.IsShowing = true; this.Plugins.ContextMenuPlugin.SetCurrentGameObject(this.CurrentArchitecture); this.Plugins.ContextMenuPlugin.SetMenuKindByName("ArchitectureRightClick"); this.Plugins.ContextMenuPlugin.Prepare(this.mouseState.X, this.mouseState.Y, base.viewportSize); } break; case ContextMenuResult.CurrentTroopRightClick: if (!this.Plugins.ContextMenuPlugin.IsShowing) { this.Plugins.ContextMenuPlugin.IsShowing = true; this.Plugins.ContextMenuPlugin.SetCurrentGameObject(this.CurrentTroop); this.Plugins.ContextMenuPlugin.SetMenuKindByName("TroopRightClick"); this.Plugins.ContextMenuPlugin.Prepare(this.mouseState.X, this.mouseState.Y, base.viewportSize); } break; case ContextMenuResult.CurrentRoutewayRightClick: if (!this.Plugins.ContextMenuPlugin.IsShowing) { this.Plugins.ContextMenuPlugin.IsShowing = true; this.Plugins.ContextMenuPlugin.SetCurrentGameObject(this.CurrentRouteway); this.Plugins.ContextMenuPlugin.SetMenuKindByName("RoutewayRightClick"); this.Plugins.ContextMenuPlugin.Prepare(this.mouseState.X, this.mouseState.Y, base.viewportSize); } break; } }
private void screen_OnMouseLeftUp(Point position) { if (this.menuToDisplay != null) { /*if (this.BianduiLiebiaoXianshi == true && StaticMethods.PointInRectangle(position, this.BianduiLiebiaoWeizhi)) //光标在编队列表里点击时不关闭菜单 { }*/ if ((this.HelpPlugin != null) && (this.HelpPlugin.IsButtonShowing && StaticMethods.PointInRectangle(position, this.HelpPlugin.ButtonDisplayPosition))) { this.Result = ContextMenuResult.None; this.IsShowing = false; this.HelpPlugin.IsButtonShowing = false; this.HelpPlugin.IsShowing = true; } else { MenuItem itemByPosition = this.menuToDisplay.GetItemByPosition(position); if (itemByPosition != null && itemByPosition.Enabled) { bool open = itemByPosition.Open; itemByPosition.Open = !itemByPosition.Open; if (open || itemByPosition.Open) { this.screen.PlayNormalSound(this.OpenSoundFile); this.Result = ContextMenuResult.KeepShowing; } else { this.screen.PlayNormalSound(this.ClickSoundFile); if (itemByPosition.IsParamIDItem) { this.CurrentParamID = int.Parse(itemByPosition.Param); this.Result = StaticMethods.GetContextMenuResultByName(itemByPosition.ResultDecludeParam); } else { this.Result = StaticMethods.GetContextMenuResultByName(itemByPosition.Result); } this.IsShowing = false; } } else if (!this.menuToDisplay.HasOpenItem) { this.screen.PlayNormalSound(this.FoldSoundFile); this.Result = ContextMenuResult.None; this.IsShowing = false; } else { this.screen.PlayNormalSound(this.FoldSoundFile); this.menuToDisplay.FoldOpenedItem(); this.Result = ContextMenuResult.KeepShowing; } } } }