protected override void CompileMenuOptions(MenuGumpOptions list) { if (Selected == null || Selected.Deleted) { Selected = Voting.EnsureProfile(User as PlayerMobile, true); } if (Selected == null) { base.CompileMenuOptions(list); return; } if (User.AccessLevel >= Voting.Access) { list.AppendEntry(new ListGumpEntry("Clear History", OnClearHistory, HighlightHue)); list.AppendEntry(new ListGumpEntry("Delete Profile", OnDeleteProfile, HighlightHue)); } list.AppendEntry(new ListGumpEntry("View History", OnViewHistory, HighlightHue)); list.AppendEntry(new ListGumpEntry("Help", ShowHelp)); base.CompileMenuOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { if (Selected != null) { list.AppendEntry( new ListGumpEntry( "Broadcast", subButton => { Selected.Message = Input ?? String.Empty; Selected.Broadcast(User); Refresh(true); }, HighlightHue)); list.AppendEntry( new ListGumpEntry( "Clear", subButton => { Selected.Message = Input = String.Empty; Refresh(true); }, ErrorHue)); } base.CompileMenuOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { list.Clear(); if (User.AccessLevel >= Conquests.Access) { list.AppendEntry( new ListGumpEntry( "Delete All", button => Send( new ConfirmDialogGump(User, this) { Title = "Delete All Profiles?", Html = "All profiles in the database will be deleted, erasing all data associated with them.\nThis action can not be reversed.\n\nDo you want to continue?", AcceptHandler = subButton => { var profiles = Conquests.Profiles.Values.Where(p => p != null).ToArray(); Conquests.Profiles.Clear(); profiles.ForEach(p => p.Clear()); Refresh(true); } }), ErrorHue)); } list.AppendEntry(new ListGumpEntry("My Conquests", OnMyProfile, HighlightHue)); list.AppendEntry(new ListGumpEntry("Help", ShowHelp)); base.CompileMenuOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { list.Clear(); if (User.AccessLevel >= Conquests.Access) { list.AppendEntry( new ListGumpEntry( "Clear", b => Send( new ConfirmDialogGump( User, this, title: "Clear Conquests?", html: "All conquests in the profile will be cleared, erasing all data associated with them.\nThis action can not be reversed.\n\nDo you want to continue?", onAccept: OnConfirmClearProfile)), HighlightHue)); } if (User != Profile.Owner) { list.AppendEntry(new ListGumpEntry("My Conquests", OnMyProfile, HighlightHue)); } list.AppendEntry(new ListGumpEntry("Help", ShowHelp)); base.CompileMenuOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { if (Profile != null) { list.AppendEntry( new ListGumpEntry("Create Template", b => Send(new ManageTemplateGump(User, Hide(true), Profile) { AcceptHandler = a => Refresh(true), CancelHandler = c => Refresh(true) }), HighlightHue)); list.AppendEntry( new ListGumpEntry( "Delete All", b => Send( new ConfirmDialogGump(User, Hide(true)) { Title = "Delete All Templates", Html = "You are about to delete all templates.\nThis action can not be undone!\nClick OK to continue.", AcceptHandler = ba => { Profile.Clear(); Refresh(true); } }), ErrorHue)); } base.CompileMenuOptions(list); }
protected override void SelectEntry(GumpButton button, AntiAdvertsReport entry) { base.SelectEntry(button, entry); var opts = new MenuGumpOptions(); opts.AppendEntry( new ListGumpEntry( "View", () => { entry.Viewed = true; Send( new NoticeDialogGump(User, Refresh()) { Title = "Anti-Advert Report", Html = entry.ToString(), Modal = false, CanMove = false }); }, HighlightHue)); opts.AppendEntry( !entry.Viewed ? new ListGumpEntry("Mark Viewed", () => entry.Viewed = true) : new ListGumpEntry("Mark Not Viewed", () => entry.Viewed = false)); opts.AppendEntry(new ListGumpEntry("Delete", () => AntiAdverts.Reports.Remove(entry), ErrorHue)); Send(new MenuGump(User, Refresh(), opts, button)); }
protected override void SelectEntry(GumpButton button, ConquestState entry) { base.SelectEntry(button, entry); if (button == null || entry == null) { return; } if (User.AccessLevel < Conquests.Access) { Refresh(); Send(new ConquestStateGump(User, entry)); return; } var list = new MenuGumpOptions(); list.AppendEntry(new ListGumpEntry("View", b => Send(new ConquestStateGump(User, entry)), HighlightHue)); list.AppendEntry(new ListGumpEntry("Reset", ResetConquest, ErrorHue)); list.AppendEntry(new ListGumpEntry("Clear", ClearConquest, ErrorHue)); list.AppendEntry(new ListGumpEntry("Delete", DeleteConquest, ErrorHue)); Send(new MenuGump(User, Refresh(), list, button)); }
protected override void CompileMenuOptions(MenuGumpOptions list) { list.AppendEntry(new ListGumpEntry("View Profiles", ShowProfiles)); list.AppendEntry(new ListGumpEntry("Help", ShowHelp)); base.CompileMenuOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { if (Selected != null) { if (User.AccessLevel >= MOTD.Access) { list.AppendEntry( new ListGumpEntry( "Save Changes", subButton => { Selected.Content = Input; Close(); })); list.AppendEntry( new ListGumpEntry( "Clear Content", subButton => { Selected.Content = Input = String.Empty; Refresh(true); })); } } base.CompileMenuOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { list.AppendEntry("Delete All", OnDeleteAll, HighlightHue); list.AppendEntry("Add Time", OnAddTime, HighlightHue); list.AppendEntry("Use Preset", OnPresetsMenu, HighlightHue); list.AppendEntry("Help", ShowHelp); base.CompileMenuOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { if (User.AccessLevel >= EquipmentSets.Access) { list.AppendEntry(new ListGumpEntry("Module Settings", OpenConfig, HighlightHue)); } list.AppendEntry(new ListGumpEntry("Help", ShowHelp)); base.CompileMenuOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { if (User.AccessLevel >= WorldChat.Access) { list.AppendEntry(new ListGumpEntry("System Options", OpenConfig, HighlightHue)); list.AppendEntry(new ListGumpEntry("Add Channel", AddChannel, HighlightHue)); } base.CompileMenuOptions(list); }
protected override void CompileOptions(MenuGumpOptions list) { if (ListGump != null) { if (ListGump.RankSortOrder != PvPProfileRankOrder.None) { list.AppendEntry( new ListGumpEntry( "No Sorting", button => { ListGump.RankSortOrder = PvPProfileRankOrder.None; ListGump.Refresh(true); })); } if (ListGump.RankSortOrder != PvPProfileRankOrder.Kills) { list.AppendEntry( new ListGumpEntry( "Kills", button => { ListGump.RankSortOrder = PvPProfileRankOrder.Kills; ListGump.Refresh(true); })); } if (ListGump.RankSortOrder != PvPProfileRankOrder.Points) { list.AppendEntry( new ListGumpEntry( "Points", button => { ListGump.RankSortOrder = PvPProfileRankOrder.Points; ListGump.Refresh(true); })); } if (ListGump.RankSortOrder != PvPProfileRankOrder.Wins) { list.AppendEntry( new ListGumpEntry( "Wins", button => { ListGump.RankSortOrder = PvPProfileRankOrder.Wins; ListGump.Refresh(true); })); } } base.CompileOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { if (User.AccessLevel >= TrashCollection.Access) { list.AppendEntry(new ListGumpEntry("System Options", OpenConfig, HighlightHue)); } list.AppendEntry(new ListGumpEntry("View Profiles", ShowProfiles)); list.AppendEntry(new ListGumpEntry("Help", ShowHelp)); base.CompileMenuOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { list.Clear(); if (User.AccessLevel >= Voting.Access) { list.AppendEntry( new ListGumpEntry( "Delete All", button => Send( new ConfirmDialogGump(User, this) { Title = "Delete All Profiles?", Html = "All profiles in the database will be deleted, erasing all data associated with them.\n" + "This action can not be reversed.\n\nDo you want to continue?", AcceptHandler = subButton => { while (Voting.Profiles.Count > 0) { var p = Voting.Profiles.Pop(); if (p.Value != null && !p.Value.Deleted) { p.Value.Delete(); } else { Voting.Profiles.Remove(p.Key); } } Refresh(true); } }), ErrorHue)); } list.AppendEntry(new ListGumpEntry("My Profile", OnMyProfile, HighlightHue)); list.AppendEntry( new ListGumpEntry( SortByToday ? "Sort by Grand Total" : "Sort by Today's Total", b => { SortByToday = !SortByToday; Refresh(true); })); list.AppendEntry(new ListGumpEntry("Help", ShowHelp)); base.CompileMenuOptions(list); }
protected virtual void SelectEntryMenu(GumpButton button, Point loc, ToolbarEntry entry) { if (entry != null) { entry.Edit(this, loc, button); } else { MenuGumpOptions opts = new MenuGumpOptions(); if (!GlobalEdit) { opts.AppendEntry( new ListGumpEntry( "Load Default", b => Send( new ConfirmDialogGump( User, this, title: "Load Default", html: "Loading the default entry will overwrite your custom entry.\n\nDo you want to continue?", onAccept: db => { ToolbarEntry def = Toolbars.DefaultEntries.GetContent(loc.X, loc.Y); State.SetContent(loc.X, loc.Y, def != null ? def.Clone() : null); Refresh(true); })), HighlightHue)); } foreach (Type eType in Toolbars.EntryTypes) { string eName = "New " + eType.Name.Replace("Toolbar", String.Empty); Type type = eType; opts.AppendEntry( new ListGumpEntry( eName, b => { State.SetContent(loc.X, loc.Y, CreateToolbarEntry(type)); Refresh(true); }, HighlightHue)); } Send(new MenuGump(User, this, opts, button)); } }
protected override void SelectEntry(GumpButton button, BaseTrashHandler entry) { base.SelectEntry(button, entry); var opts = new MenuGumpOptions(); if (User.AccessLevel >= TrashCollection.Access) { opts.AppendEntry( new ListGumpEntry( "Options", b => { Refresh(); var pg = new PropertiesGump(User, Selected) { X = b.X, Y = b.Y }; User.SendGump(pg); }, HighlightHue)); opts.AppendEntry( new ListGumpEntry( "Accept List", b => Send(new TrashHandlerAcceptListGump(User, entry, Hide(true))), HighlightHue)); opts.AppendEntry( new ListGumpEntry( "Ignore List", b => Send(new TrashHandlerIgnoreListGump(User, entry, Hide(true))), HighlightHue)); opts.AppendEntry( new ListGumpEntry( entry.Enabled ? "Disable" : "Enable", b1 => { entry.Enabled = !entry.Enabled; Refresh(true); }, entry.Enabled ? ErrorHue : HighlightHue)); opts.AppendEntry(new ListGumpEntry("Cancel", b => { })); } Send(new MenuGump(User, Refresh(), opts, button)); }
protected override void SelectEntry(GumpButton button, IVoteSite entry) { base.SelectEntry(button, entry); var opts = new MenuGumpOptions(); if (entry.CanVote(User, false)) { opts.AppendEntry(new ListGumpEntry("Cast Vote", CastVote, HighlightHue)); } opts.AppendEntry(new ListGumpEntry("Cancel", b => { })); Send(new MenuGump(User, Refresh(), opts, button)); }
protected override void CompileMenuOptions(MenuGumpOptions list) { if (Selected != null) { if (User.AccessLevel >= AutoPvP.Access) { list.AppendEntry( new ListGumpEntry( "Create Battle", b => { if (UseConfirmDialog) { Send( new ConfirmDialogGump( User, this, title: "Create New Battle?", html: "This action will create a new battle from the selected scenario.\nDo you want to continue?", onAccept: OnConfirmCreateBattle)); } else { OnConfirmCreateBattle(b); } }, HighlightHue)); } } base.CompileMenuOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { if (Selected != null) { if (User.AccessLevel >= AutoPvP.Access) { list.AppendEntry( new ListGumpEntry( "Create Battle", b => { if (UseConfirmDialog) { new ConfirmDialogGump(User, this) { Title = "Create New Battle?", Html = "This action will create a new battle from the selected scenario.\nDo you want to continue?", AcceptHandler = OnConfirmCreateBattle, CancelHandler = Refresh }.Send(); } else { OnConfirmCreateBattle(b); } }, HighlightHue)); } } base.CompileMenuOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { if (Selected == null || Selected.Deleted) { Selected = AutoPvP.EnsureProfile(User as PlayerMobile, true); } if ((Selected.Owner == User && AutoPvP.CMOptions.Advanced.Profiles.AllowPlayerDelete) || User.AccessLevel >= AutoPvP.Access) { list.AppendEntry(new ListGumpEntry("Clear Statistics", OnResetStatistics, HighlightHue)); list.AppendEntry(new ListGumpEntry("Delete Profile", OnDeleteProfile, HighlightHue)); } base.CompileMenuOptions(list); }
protected override void CompileMenuOptions(MenuGumpOptions list) { if (Selected != null && User.AccessLevel >= AutoPvP.Access) { list.AppendEntry("Create Battle", OnCreate, HighlightHue); } base.CompileMenuOptions(list); }
private void AddSite(GumpButton btn) { var opts = new MenuGumpOptions(); Voting.SiteTypes.ForEach(t => opts.AppendEntry(new ListGumpEntry(t.Name, b => OnAddSite(t)))); Refresh(); Send(new MenuGump(User, btn.Parent, opts, btn)); }
protected override void SelectEntry(GumpButton button, WorldChatChannel entry) { base.SelectEntry(button, entry); var opts = new MenuGumpOptions(); if (User.AccessLevel >= WorldChat.Access) { opts.AppendEntry( new ListGumpEntry( "Options", b => { Refresh(); var pg = new PropertiesGump(User, Selected) { X = b.X, Y = b.Y }; User.SendGump(pg); }, HighlightHue)); opts.AppendEntry( new ListGumpEntry( entry.Available ? "Disable" : "Enable", b1 => { entry.Available = !entry.Available; Refresh(true); }, entry.Available ? ErrorHue : HighlightHue)); if (!entry.Permanent) { opts.AppendEntry(new ListGumpEntry("Delete", DeleteChannel, ErrorHue)); } opts.AppendEntry(new ListGumpEntry("Cancel", b => { })); } Send(new MenuGump(User, Refresh(), opts, button)); }
private void AddChannel(GumpButton btn) { var opts = new MenuGumpOptions(); WorldChat.ChannelTypes.ForEach( t => opts.AppendEntry(new ListGumpEntry(t.Name.Replace("ChatChannel", " Channel"), b => OnAddChannel(t)))); Refresh(); Send(new MenuGump(User, btn.Parent, opts, btn)); }
protected override void CompileMenuOptions(MenuGumpOptions list) { if (User.AccessLevel >= Conquests.Access) { list.AppendEntry(new ListGumpEntry("System Options", OpenConfig, HighlightHue)); list.AppendEntry(new ListGumpEntry("Add Conquest", AddConquest, HighlightHue)); list.AppendEntry( new ListGumpEntry( "Delete All", button => Send( new ConfirmDialogGump(User, this) { Title = "Delete All Conquests?", Html = "All conquests in the database will be deleted, erasing all data associated with them.\nThis action can not be reversed.\n\nDo you want to continue?", AcceptHandler = subButton => { Conquest[] conquests = Conquests.ConquestRegistry.Values.Where(c => c != null && !c.Deleted).ToArray(); conquests.ForEach(c => c.Delete()); Conquests.ConquestRegistry.Clear(); Refresh(true); } }), ErrorHue)); list.AppendEntry( new ListGumpEntry( "Disable All Conquests", button => Send( new ConfirmDialogGump(User, this) { Title = "Disable All Conquests?", Html = "All conquests in the database will be disabled, which will also reset their states.\n\nDo you want to continue?", AcceptHandler = subButton => { Conquest[] conquests = Conquests.ConquestRegistry.Values.Where(c => c != null && !c.Deleted).ToArray(); conquests.ForEach(c => c.Enabled = !c.Enabled); Refresh(true); } }), ErrorHue)); list.AppendEntry(new ListGumpEntry("Import XML", b => Conquests.ImportXML(User))); list.AppendEntry(new ListGumpEntry("Export XML", b => Conquests.ExportXML(User))); } //list.AppendEntry(new ListGumpEntry("View Profiles", ShowProfiles)); list.AppendEntry(new ListGumpEntry("Help", ShowHelp)); base.CompileMenuOptions(list); }
protected override void CompileOptions(MenuGumpOptions list) { list.AppendEntry(new ListGumpEntry("None", b => SetDay(b, ScheduleDays.None))); list.AppendEntry(new ListGumpEntry("All", b => SetDay(b, ScheduleDays.All))); list.AppendEntry(new ListGumpEntry("Monday", b => SetDay(b, ScheduleDays.Monday))); list.AppendEntry(new ListGumpEntry("Tuesday", b => SetDay(b, ScheduleDays.Tuesday))); list.AppendEntry(new ListGumpEntry("Wednesday", b => SetDay(b, ScheduleDays.Wednesday))); list.AppendEntry(new ListGumpEntry("Thursday", b => SetDay(b, ScheduleDays.Thursday))); list.AppendEntry(new ListGumpEntry("Friday", b => SetDay(b, ScheduleDays.Friday))); list.AppendEntry(new ListGumpEntry("Saturday", b => SetDay(b, ScheduleDays.Saturday))); list.AppendEntry(new ListGumpEntry("Sunday", b => SetDay(b, ScheduleDays.Sunday))); base.CompileOptions(list); list.Replace("Cancel", new ListGumpEntry("Done", Cancel)); }
protected override void SelectEntry(GumpButton button, PvPTeam entry) { base.SelectEntry(button, entry); if (button == null || entry == null || entry.Deleted) { return; } var list = new MenuGumpOptions(); list.AppendEntry( new ListGumpEntry("Overview", b => Send(new PvPTeamOverviewGump(User, entry, Hide(true), UseConfirmDialog)))); PvPTeam team; if (entry.Battle.IsParticipant(User as PlayerMobile, out team)) { if (team == entry) { list.AppendEntry(new ListGumpEntry("Quit & Leave", b => entry.Battle.Eject(User as PlayerMobile, true))); } } else if (User is PlayerMobile) { var user = (PlayerMobile)User; if (entry.Battle.IsQueued(user)) { if (entry.Battle.Queue[user] == entry) { list.AppendEntry(new ListGumpEntry("Leave Queue", b => entry.Battle.Dequeue(user))); } } else if (!entry.Battle.AutoAssign && entry.Battle.CanQueue(user)) { list.AppendEntry(new ListGumpEntry("Join Queue", b => entry.Battle.Enqueue(user, entry))); } } Send(new MenuGump(User, Refresh(), list, button)); }
protected override void CompileMenuOptions(MenuGumpOptions list) { list.Clear(); if (User.AccessLevel >= TrashCollection.Access) { list.AppendEntry( new ListGumpEntry( "Delete All", button => Send( new ConfirmDialogGump(User, this) { Title = "Delete All Profiles?", Html = "All profiles in the database will be deleted, erasing all data associated with them.\n" + "This action can not be reversed.\n\nDo you want to continue?", AcceptHandler = subButton => { TrashCollection.Profiles.Values.ToArray().Where(p => p != null && !p.Deleted).ForEach(p => p.Delete()); Refresh(true); } }), ErrorHue)); } list.AppendEntry(new ListGumpEntry("My Profile", OnMyProfile, HighlightHue)); list.AppendEntry( new ListGumpEntry( SortByToday ? "Sort by Grand Total" : "Sort by Today's Total", b => { SortByToday = !SortByToday; Refresh(true); })); list.AppendEntry(new ListGumpEntry("Help", ShowHelp)); base.CompileMenuOptions(list); }
public virtual void AddEnumSelect <TEnum>( int x, int y, int normalID, int pressedID, int labelXOffset, int labelYOffset, int labelWidth, int labelHeight, int labelHue, TEnum selected, Action <TEnum> onSelect, bool resolveMenuPos) where TEnum : struct, IComparable, IFormattable, IConvertible { if (!typeof(TEnum).IsEnum) { return; } var opts = new MenuGumpOptions(); ListGumpEntry?def = null; foreach (var o in (default(TEnum) as Enum).EnumerateValues <TEnum>(false)) { var v = o; var e = new ListGumpEntry(v.ToString(), b => onSelect(v)); opts.AppendEntry(e); if (Equals(v, selected)) { def = e; } } if (def != null) { AddMenuButton( x, y, normalID, pressedID, labelXOffset, labelYOffset, labelWidth, labelHeight, labelHue, opts, def.Value, resolveMenuPos); } }
protected override void CompileMenuOptions(MenuGumpOptions list) { var regions = Region.Regions.Not(r => r == null || !r.Registered || r is PvPRegion || r is RegionExtUtility.PreviewRegion) .Where(r => r.Contains(User.Location, User.Map)) .ToArray(); if (regions.Length > 0) { MenuGumpOptions opts = new MenuGumpOptions(); regions.ForEach( r => opts.AppendEntry( new ListGumpEntry( r.Name, () => { ClearPreview(); bool prev = Preview; Preview = false; r.Area.ForEach(AddToList); Preview = prev; DisplayPreview(); }))); list.AppendEntry(new ListGumpEntry("Use Region...", b => Send(new MenuGump(User, Refresh(), opts, b)))); } else { list.RemoveEntry("Use Region..."); } base.CompileMenuOptions(list); }
protected override void CompileOptions(MenuGumpOptions list) { list.AppendEntry(new ListGumpEntry("None", b => SetMonth(b, ScheduleMonths.None))); list.AppendEntry(new ListGumpEntry("All", b => SetMonth(b, ScheduleMonths.All))); list.AppendEntry(new ListGumpEntry("January", b => SetMonth(b, ScheduleMonths.January))); list.AppendEntry(new ListGumpEntry("February", b => SetMonth(b, ScheduleMonths.February))); list.AppendEntry(new ListGumpEntry("March", b => SetMonth(b, ScheduleMonths.March))); list.AppendEntry(new ListGumpEntry("April", b => SetMonth(b, ScheduleMonths.April))); list.AppendEntry(new ListGumpEntry("May", b => SetMonth(b, ScheduleMonths.May))); list.AppendEntry(new ListGumpEntry("June", b => SetMonth(b, ScheduleMonths.June))); list.AppendEntry(new ListGumpEntry("July", b => SetMonth(b, ScheduleMonths.July))); list.AppendEntry(new ListGumpEntry("August", b => SetMonth(b, ScheduleMonths.August))); list.AppendEntry(new ListGumpEntry("September", b => SetMonth(b, ScheduleMonths.September))); list.AppendEntry(new ListGumpEntry("October", b => SetMonth(b, ScheduleMonths.October))); list.AppendEntry(new ListGumpEntry("November", b => SetMonth(b, ScheduleMonths.November))); list.AppendEntry(new ListGumpEntry("December", b => SetMonth(b, ScheduleMonths.December))); base.CompileOptions(list); list.Replace("Cancel", new ListGumpEntry("Done", Cancel)); }