public PolygonContextMenu(PolygonDrawerManipulator polygonDrawer) { _polygonDrawer = polygonDrawer; _menu = JanusContextMenu.Create(); Debug.Assert(_polygonDrawer.ActivePolygon != null); _menu.AddCommand(string.Format(ControlsRes.PolygonContextMenu_Manipulate, _polygonDrawer.ActivePolygon.Name), OnGenerate); AttackersPoolContextMenuCommandCreator.Add(_menu, _polygonDrawer.ActivePolygon.GetVillages().Where(x => x.Player == World.Default.You)); _menu.AddSeparator(); _menu.AddCommand(ControlsRes.PolygonContextMenu_Delete, OnDelete, Shortcut.Del); _menu.AddTextBoxCommand(ControlsRes.PolygonContextMenu_Name, _polygonDrawer.ActivePolygon.Name, NameChanged); _menu.AddTextBoxCommand(ControlsRes.PolygonContextMenu_Group, _polygonDrawer.ActivePolygon.Group, GroupChanged); _menu.AddChangeColorCommand(ControlsRes.PolygonContextMenu_Color, _polygonDrawer.ActivePolygon.LineColor, SelectedColorChanged); _menu.AddCommand(_polygonDrawer.ActivePolygon.Visible ? ControlsRes.PolygonContextMenu_Hide : ControlsRes.PolygonContextMenu_Show, ToggleVisibility); }
public VillagesContextMenu(Map map, ICollection <Village> villages, Action <VillageType> onVillageTypeChangeDelegate = null) { _villages = villages; _map = map; _onVillageTypeChangeDelegate = onVillageTypeChangeDelegate; _menu = JanusContextMenu.Create(); // TODO: hehe, the ActiveVillageManipulator takes the first player and selects all his villages... //if (map.Display.IsVisible(_villages)) //{ // _menu.AddCommand(ControlsRes.ContextMenu_Pinpoint, OnPinPoint); //} //_menu.AddCommand(ControlsRes.ContextMenu_PinpointAndCenter, OnPinpointAndCenter, Properties.Resources.TeleportIcon); //_menu.AddSeparator(); _menu.AddSetVillageTypeCommand(OnVillageTypeChange, null); _menu.AddCommand(ControlsRes.VillageContextMenu_RemovePurpose, OnRemovePurpose); if (World.Default.Settings.Church) { VillageContextMenu.AddChurchCommands(_menu, null, ChurchChange_Click); } _menu.AddSeparator(); if (!World.Default.You.Empty && villages.All(x => x.Player == World.Default.You)) { _menu.AddCommand(ControlsRes.VillagesContextMenu_DefendThem, OnAddTargets, Properties.Resources.swordsman); AttackersPoolContextMenuCommandCreator.Add(_menu, _villages); } else { _menu.AddCommand(ControlsRes.VillagesContextMenu_AttackThem, OnAddTargets, Properties.Resources.barracks); } _menu.AddSeparator(); _menu.AddCommand(ControlsRes.ContextMenu_ToBbCode, OnBbCode, Properties.Resources.clipboard); }