public void DialogChanged() { MirMessageBox box1 = null; MirInputBox box2 = null; MirAmountBox box3 = null; if (MirScene.ActiveScene != null && MirScene.ActiveScene.Controls.Count > 0) { box1 = (MirMessageBox)MirScene.ActiveScene.Controls.FirstOrDefault(ob => ob is MirMessageBox); box2 = (MirInputBox)MirScene.ActiveScene.Controls.FirstOrDefault(O => O is MirInputBox); box3 = (MirAmountBox)MirScene.ActiveScene.Controls.FirstOrDefault(ob => ob is MirAmountBox); } if ((box1 != null && box1 != Parent) || (box2 != null && box2 != Parent) || (box3 != null && box3 != Parent)) { TextBox.Visible = false; } else { TextBox.Visible = Visible && TextBox.Parent != null; } }
public void DialogChanged() { MirMessageBox MI = null; MirInputBox MI2 = null; if (MirScene.ActiveScene != null && MirScene.ActiveScene.Controls.Count > 0) { MI = (MirMessageBox)MirScene.ActiveScene.Controls.FirstOrDefault(O => O is MirMessageBox); MI2 = (MirInputBox)MirScene.ActiveScene.Controls.FirstOrDefault(O => O is MirInputBox); //MirScene.ActiveScene.Controls[MirScene.ActiveScene.Controls.Count - 1] as MirInputBox; } if (TextBox.InvokeRequired) { TextBox.Invoke((MethodInvoker)(() => { if ((MI != null && MI.Window != Parent) || (MI2 != null && MI2.Window != Parent)) { TextBox.Visible = false; } else { TextBox.Visible = Visible && TextBox.Parent != null; } })); } else { if ((MI != null && MI.Window != Parent) || (MI2 != null && MI2.Window != Parent)) { TextBox.Visible = false; } else { TextBox.Visible = Visible && TextBox.Parent != null; } } }
private void NewIntelligentCreature(S.NewIntelligentCreature p)//IntelligentCreature { User.IntelligentCreatures.Add(p.Creature); MirInputBox inputBox = new MirInputBox("Please give your creature a name."); inputBox.InputTextBox.Text = GameScene.User.IntelligentCreatures[User.IntelligentCreatures.Count-1].CustomName; inputBox.OKButton.Click += (o1, e1) => { if (IntelligentCreatureDialog.Visible) IntelligentCreatureDialog.Update();//refresh changes GameScene.User.IntelligentCreatures[User.IntelligentCreatures.Count - 1].CustomName = inputBox.InputTextBox.Text; Network.Enqueue(new C.UpdateIntelligentCreature { Creature = GameScene.User.IntelligentCreatures[User.IntelligentCreatures.Count - 1] }); inputBox.Dispose(); }; inputBox.Show(); }
private void MailSendRequest(S.MailSendRequest p) { MirInputBox inputBox = new MirInputBox("Please enter the name of the person you would like to mail."); inputBox.OKButton.Click += (o1, e1) => { GameScene.Scene.MailComposeParcelDialog.ComposeMail(inputBox.InputTextBox.Text); GameScene.Scene.InventoryDialog.Show(); //open letter dialog, pass in name inputBox.Dispose(); }; inputBox.Show(); }
private void GuildRequestWar(S.GuildRequestWar p) { MirInputBox inputBox = new MirInputBox("Please enter the guild you would like to go to war with."); inputBox.OKButton.Click += (o, e) => { Network.Enqueue(new C.GuildWarReturn { Name = inputBox.InputTextBox.Text }); inputBox.Dispose(); }; inputBox.Show(); }
private void GuildNameRequest(S.GuildNameRequest p) { MirInputBox inputBox = new MirInputBox("Please enter a guild name, length must be 3~20 characters."); inputBox.InputTextBox.TextBox.KeyPress += (o, e) => { string Allowed = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; if (!Allowed.Contains(e.KeyChar)) e.Handled = true; }; inputBox.OKButton.Click += (o, e) => { if (inputBox.InputTextBox.Text.Contains('\\')) { ChatDialog.ReceiveChat("You cannot use the \\ sign in a guildname!", ChatType.System); inputBox.InputTextBox.Text = ""; } Network.Enqueue(new C.GuildNameReturn { Name = inputBox.InputTextBox.Text }); inputBox.Dispose(); }; inputBox.Show(); }
private void NPCRequestInput(S.NPCRequestInput p) { MirInputBox inputBox = new MirInputBox("Please enter the required information."); inputBox.OKButton.Click += (o1, e1) => { Network.Enqueue(new C.NPCConfirmInput { Value = inputBox.InputTextBox.Text, NPCID = p.NPCID, PageName = p.PageName }); inputBox.Dispose(); }; inputBox.Show(); }
public MentorDialog() { Index = 170; Library = Libraries.Prguse; Movable = true; Sort = true; Location = Center; TitleLabel = new MirImageControl { Index = 51, Library = Libraries.Title, Location = new Point(18, 4), Parent = this }; CloseButton = new MirButton { HoverIndex = 361, Index = 360, Location = new Point(219, 3), Library = Libraries.Prguse2, Parent = this, PressedIndex = 362, Sound = SoundList.ButtonA, }; CloseButton.Click += (o, e) => Hide(); AllowButton = new MirButton { HoverIndex = 115, Index = 114, Location = new Point(30, 178), Library = Libraries.Prguse, Parent = this, PressedIndex = 116, Sound = SoundList.ButtonA, Hint = "Allow/Disallow Mentor Requests", }; AllowButton.Click += (o, e) => { if (AllowButton.Index == 116) { AllowButton.Index = 117; AllowButton.HoverIndex = 118; AllowButton.PressedIndex = 119; } else { AllowButton.Index = 114; AllowButton.HoverIndex = 115; AllowButton.PressedIndex = 116; } Network.Enqueue(new C.AllowMentor()); }; AddButton = new MirButton { HoverIndex = 214, Index = 213, Location = new Point(60, 178), Library = Libraries.Title, Parent = this, PressedIndex = 215, Sound = SoundList.ButtonA, Hint = "Add Mentor", }; AddButton.Click += (o, e) => { if (MentorLevel != 0) { GameScene.Scene.ChatDialog.ReceiveChat("You already have a Mentor.", ChatType.System); return; } string message = "Please enter the name of the person you would like to be your Mentor."; MirInputBox inputBox = new MirInputBox(message); inputBox.OKButton.Click += (o1, e1) => { Network.Enqueue(new C.AddMentor { Name = inputBox.InputTextBox.Text }); inputBox.Dispose(); }; inputBox.Show(); }; RemoveButton = new MirButton { HoverIndex = 217, Index = 216, Location = new Point(135, 178), Library = Libraries.Title, Parent = this, PressedIndex = 218, Sound = SoundList.ButtonA, Hint = "Remove Mentor/Mentee", }; RemoveButton.Click += (o, e) => { if (MentorName == "") { GameScene.Scene.ChatDialog.ReceiveChat("You don't currently have a Mentorship to cancel.", ChatType.System); return; } MirMessageBox messageBox = new MirMessageBox(string.Format("Cancelling a Mentorship early will cause a cooldown. Are you sure?"), MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (oo, ee) => Network.Enqueue(new C.CancelMentor { }); messageBox.NoButton.Click += (oo, ee) => { messageBox.Dispose(); }; messageBox.Show(); }; MentorNameLabel = new MirLabel { Location = new Point(20, 58), Size = new Size(200, 30), BackColour = Color.Empty, ForeColour = Color.LightGray, DrawFormat = TextFormatFlags.VerticalCenter, Parent = this, NotControl = true, Font = new Font(Settings.FontName, 10F), }; MentorLevelLabel = new MirLabel { Location = new Point(170, 58), Size = new Size(200, 30), BackColour = Color.Empty, ForeColour = Color.LightGray, DrawFormat = TextFormatFlags.VerticalCenter, Parent = this, NotControl = true, Font = new Font(Settings.FontName, 10F), }; MentorOnlineLabel = new MirLabel { Location = new Point(125, 58), Size = new Size(200, 30), BackColour = Color.Empty, ForeColour = Color.Green, DrawFormat = TextFormatFlags.VerticalCenter, Parent = this, NotControl = true, Font = new Font(Settings.FontName, 7F), Visible = false, Text = "ONLINE", }; StudentNameLabel = new MirLabel { Location = new Point(20, 112), Size = new Size(200, 30), BackColour = Color.Empty, ForeColour = Color.LightGray, DrawFormat = TextFormatFlags.VerticalCenter, Parent = this, NotControl = true, Font = new Font(Settings.FontName, 10F), }; StudentLevelLabel = new MirLabel { Location = new Point(170, 111), Size = new Size(200, 30), BackColour = Color.Empty, ForeColour = Color.LightGray, DrawFormat = TextFormatFlags.VerticalCenter, Parent = this, NotControl = true, Font = new Font(Settings.FontName, 10F), }; StudentOnlineLabel = new MirLabel { Location = new Point(125, 112), Size = new Size(200, 30), BackColour = Color.Empty, ForeColour = Color.Green, DrawFormat = TextFormatFlags.VerticalCenter, Parent = this, NotControl = true, Font = new Font(Settings.FontName, 7F), Visible = false, Text = "ONLINE", }; MentorLabel = new MirLabel { Location = new Point(15, 41), Size = new Size(200, 30), BackColour = Color.Empty, ForeColour = Color.DimGray, DrawFormat = TextFormatFlags.VerticalCenter, Parent = this, NotControl = true, Font = new Font(Settings.FontName, 7F), Text = "MENTOR", }; StudentLabel = new MirLabel { Location = new Point(15, 94), Size = new Size(200, 30), BackColour = Color.Empty, ForeColour = Color.DimGray, DrawFormat = TextFormatFlags.VerticalCenter, Parent = this, NotControl = true, Font = new Font(Settings.FontName, 7F), Text = "MENTEE", }; MenteeEXPLabel = new MirLabel { Location = new Point(15, 147), Size = new Size(200, 30), BackColour = Color.Empty, ForeColour = Color.DimGray, DrawFormat = TextFormatFlags.VerticalCenter, Parent = this, NotControl = true, Font = new Font(Settings.FontName, 7F), }; }
public FriendDialog() { Index = 199; Library = Libraries.Title; Movable = true; Sort = true; Location = Center; AfterDraw += FriendDialog_BeforeDraw; TitleLabel = new MirImageControl { Index = 6, Library = Libraries.Title, Location = new Point(18, 4), Parent = this }; FriendLabel = new MirImageControl { Index = 163, Library = Libraries.Title, Location = new Point(10, 34), Parent = this, Sound = SoundList.ButtonA, }; FriendLabel.Click += (o, e) => { _tempBlockedTab = false; }; BlacklistLabel = new MirImageControl { Index = 167, Library = Libraries.Title, Location = new Point(128, 34), Parent = this, Sound = SoundList.ButtonA, }; BlacklistLabel.Click += (o, e) => { _tempBlockedTab = true; }; PageNumberLabel = new MirLabel { Text = "", Parent = this, Size = new Size(83, 17), Location = new Point(87, 216), DrawFormat = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter }; #region Buttons PreviousButton = new MirButton { Index = 240, HoverIndex = 241, PressedIndex = 242, Library = Libraries.Prguse2, Parent = this, Size = new Size(16, 16), Location = new Point(70, 218), Sound = SoundList.ButtonA, }; PreviousButton.Click += (o, e) => { Page--; if (Page < 0) Page = 0; StartIndex = Rows.Length * Page; Update(); }; NextButton = new MirButton { Index = 243, HoverIndex = 244, PressedIndex = 245, Library = Libraries.Prguse2, Parent = this, Size = new Size(16, 16), Location = new Point(171, 218), Sound = SoundList.ButtonA, }; NextButton.Click += (o, e) => { Page++; if (Page > Friends.Count() / Rows.Length) Page = Friends.Count() / Rows.Length; StartIndex = Rows.Length * Page; Update(); }; CloseButton = new MirButton { HoverIndex = 361, Index = 360, Location = new Point(237, 3), Library = Libraries.Prguse2, Parent = this, PressedIndex = 362, Sound = SoundList.ButtonA, }; CloseButton.Click += (o, e) => Hide(); AddButton = new MirButton { Index = 554, HoverIndex = 555, PressedIndex = 556, Library = Libraries.Prguse, Location = new Point(60, 241), Parent = this, Sound = SoundList.ButtonA }; AddButton.Click += (o, e) => { ; string message = string.Format("Please enter the name of the person you would like to {0}.", _blockedTab ? "block" : "add"); MirInputBox inputBox = new MirInputBox(message); inputBox.OKButton.Click += (o1, e1) => { Network.Enqueue(new C.AddFriend { Name = inputBox.InputTextBox.Text, Blocked = _blockedTab }); inputBox.Dispose(); }; inputBox.Show(); }; RemoveButton = new MirButton { Index = 557, HoverIndex = 558, PressedIndex = 559, Library = Libraries.Prguse, Location = new Point(88, 241), Parent = this, Sound = SoundList.ButtonA }; RemoveButton.Click += (o, e) => { if (SelectedFriend == null) return; MirMessageBox messageBox = new MirMessageBox(string.Format("Are you sure you wish to remove '{0}'?", SelectedFriend.Name), MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o1, e1) => { Network.Enqueue(new C.RemoveFriend { CharacterIndex = SelectedFriend.Index }); messageBox.Dispose(); }; messageBox.Show(); }; MemoButton = new MirButton { Index = 560, HoverIndex = 561, PressedIndex = 562, Library = Libraries.Prguse, Location = new Point(116, 241), Parent = this, Sound = SoundList.ButtonA }; MemoButton.Click += (o, e) => { if (SelectedFriend == null) return; GameScene.Scene.MemoDialog.Friend = SelectedFriend; GameScene.Scene.MemoDialog.Show(); }; EmailButton = new MirButton { Index = 563, HoverIndex = 564, PressedIndex = 565, Library = Libraries.Prguse, Location = new Point(144, 241), Parent = this, Sound = SoundList.ButtonA }; EmailButton.Click += (o, e) => { if (SelectedFriend == null) return; GameScene.Scene.MailComposeLetterDialog.ComposeMail(SelectedFriend.Name); }; WhisperButton = new MirButton { Index = 566, HoverIndex = 567, PressedIndex = 568, Library = Libraries.Prguse, Location = new Point(172, 241), Parent = this, Sound = SoundList.ButtonA }; WhisperButton.Click += (o, e) => { if (SelectedFriend == null) return; if (!SelectedFriend.Online) { GameScene.Scene.ChatDialog.ReceiveChat("Player is not online", ChatType.System); return; } GameScene.Scene.ChatDialog.ChatTextBox.SetFocus(); GameScene.Scene.ChatDialog.ChatTextBox.Text = "/" + SelectedFriend.Name + " "; GameScene.Scene.ChatDialog.ChatTextBox.Visible = true; GameScene.Scene.ChatDialog.ChatTextBox.TextBox.SelectionLength = 0; GameScene.Scene.ChatDialog.ChatTextBox.TextBox.SelectionStart = GameScene.Scene.ChatDialog.ChatTextBox.Text.Length; }; #endregion }
private void ButtonClick(object sender, EventArgs e) { int selectedCreature = BeforeAfterDraw(); if (selectedCreature < 0) return; bool needSummon = false, needDismiss = false, needRelease = false, needUpdate = false; if (sender == CreatureRenameButton) { MirInputBox inputBox = new MirInputBox("Please enter a new name for the creature."); inputBox.InputTextBox.Text = GameScene.User.IntelligentCreatures[selectedCreature].CustomName; inputBox.OKButton.Click += (o1, e1) => { Update();//refresh changes GameScene.User.IntelligentCreatures[selectedCreature].CustomName = inputBox.InputTextBox.Text; Network.Enqueue(new C.UpdateIntelligentCreature { Creature = GameScene.User.IntelligentCreatures[selectedCreature] }); inputBox.Dispose(); }; inputBox.Show(); CreatureRenameButton.Visible = false; return; } if (sender == SummonButton) { //if (GameScene.User.IntelligentCreatures[selectedCreature].Fullness == 0) //{ // GameScene.Scene.ChatDialog.ReceiveChat((string.Format("Creature {0} is starving, revitalize first.", GameScene.User.IntelligentCreatures[selectedCreature].CustomName)), ChatType.System); //} needSummon = true; needUpdate = true; SummonButton.Enabled = false; DismissButton.Enabled = true; DismissButton.Visible = true; } if (sender == DismissButton) { needDismiss = true; needUpdate = true; SummonButton.Enabled = true; DismissButton.Enabled = false; DismissButton.Visible = false; } if (sender == ReleaseButton) { MirInputBox verificationBox = new MirInputBox("Please enter the creature's name for verification."); verificationBox.OKButton.Click += (o1, e1) => { if (String.Compare(verificationBox.InputTextBox.Text, GameScene.User.IntelligentCreatures[selectedCreature].CustomName, StringComparison.OrdinalIgnoreCase) != 0) { GameScene.Scene.ChatDialog.ReceiveChat("Verification Failed!!", ChatType.System); } else { //clear all and get new info after server got update for (int i = 0; i < CreatureButtons.Length; i++) CreatureButtons[i].Clear(); Hide(); Network.Enqueue(new C.UpdateIntelligentCreature { Creature = GameScene.User.IntelligentCreatures[selectedCreature], ReleaseMe = true }); } verificationBox.Dispose(); }; verificationBox.Show(); return; } if (sender == SemiAutoModeButton) { //make sure rules allow Automatic Mode if (!GameScene.User.IntelligentCreatures[selectedCreature].CreatureRules.AutoPickupEnabled) return; //turn on automatic pickupmode SemiAutoModeButton.Visible = false; AutomaticModeButton.Visible = true; GameScene.User.IntelligentCreatures[selectedCreature].petMode = IntelligentCreaturePickupMode.Automatic; needUpdate = true; } if (sender == AutomaticModeButton) { //make sure rules allow SemiAutomatic Mode if (!GameScene.User.IntelligentCreatures[selectedCreature].CreatureRules.SemiAutoPickupEnabled) return; //turn on semiauto pickupmode AutomaticModeButton.Visible = false; SemiAutoModeButton.Visible = true; GameScene.User.IntelligentCreatures[selectedCreature].petMode = IntelligentCreaturePickupMode.SemiAutomatic; needUpdate = true; } if (sender == OptionsMenuButton) { //show ItemFilter if (!GameScene.Scene.IntelligentCreatureOptionsDialog.Visible) GameScene.Scene.IntelligentCreatureOptionsDialog.Show(GameScene.User.IntelligentCreatures[selectedCreature].Filter); if (!GameScene.Scene.IntelligentCreatureOptionsGradeDialog.Visible) GameScene.Scene.IntelligentCreatureOptionsGradeDialog.Show(GameScene.User.IntelligentCreatures[selectedCreature].Filter.PickupGrade); } if (needUpdate) { Update();//refresh changes Network.Enqueue(new C.UpdateIntelligentCreature { Creature = GameScene.User.IntelligentCreatures[selectedCreature], SummonMe = needSummon, UnSummonMe = needDismiss, ReleaseMe = needRelease }); } }
private void DelMember() { if (GroupList.Count > 0 && GroupList[0] != MapObject.User.Name) { GameScene.Scene.ChatDialog.ReceiveChat("You are not the leader of your group.", ChatType.System); return; } MirInputBox inputBox = new MirInputBox("Please enter the name of the person you wish to group."); inputBox.OKButton.Click += (o, e) => { Network.Enqueue(new C.DelMember { Name = inputBox.InputTextBox.Text }); inputBox.Dispose(); }; inputBox.Show(); }
public void AddMember() { if (!MyOptions.HasFlag(RankOptions.CanRecruit)) return; if (LastGuildMsg > CMain.Time) return; MirInputBox messageBox = new MirInputBox("Who would you like to invite to the guild?"); messageBox.OKButton.Click += (o, e) => { Network.Enqueue(new C.EditGuildMember { ChangeType = 0, Name = messageBox.InputTextBox.Text }); LastGuildMsg = CMain.Time + 5000; messageBox.Dispose(); }; messageBox.Show(); }
public FriendDialog() { Index = 199; Library = Libraries.Title; Movable = true; Sort = true; Location = Center; TitleLabel = new MirImageControl { Index = 6, Library = Libraries.Title, Location = new Point(18, 4), Parent = this }; CloseButton = new MirButton { HoverIndex = 361, Index = 360, Location = new Point(237, 3), Library = Libraries.Prguse2, Parent = this, PressedIndex = 362, Sound = SoundList.ButtonA, }; CloseButton.Click += (o, e) => Hide(); AddButton = new MirButton { Index = 554, HoverIndex = 555, PressedIndex = 556, Library = Libraries.Prguse, Location = new Point(60, 241), Parent = this, Sound = SoundList.ButtonA }; AddButton.Click += (o, e) => { MirInputBox inputBox = new MirInputBox("Please enter the name of the person you would like to add."); inputBox.OKButton.Click += (o1, e1) => { //GameScene.Scene.MailComposeLetterDialog.ComposeMail(inputBox.InputTextBox.Text); inputBox.Dispose(); }; inputBox.Show(); }; RemoveButton = new MirButton { Index = 557, HoverIndex = 558, PressedIndex = 559, Library = Libraries.Prguse, Location = new Point(88, 241), Parent = this, Sound = SoundList.ButtonA }; MemoButton = new MirButton { Index = 560, HoverIndex = 561, PressedIndex = 562, Library = Libraries.Prguse, Location = new Point(116, 241), Parent = this, Sound = SoundList.ButtonA }; EmailButton = new MirButton { Index = 563, HoverIndex = 564, PressedIndex = 565, Library = Libraries.Prguse, Location = new Point(144, 241), Parent = this, Sound = SoundList.ButtonA }; WhisperButton = new MirButton { Index = 566, HoverIndex = 567, PressedIndex = 568, Library = Libraries.Prguse, Location = new Point(172, 241), Parent = this, Sound = SoundList.ButtonA }; }
public MailListDialog() { Index = 670; Library = Libraries.Title; Size = new Size(312, 444); Movable = true; Sort = true; Location = new Point((Settings.ScreenWidth - Size.Width) - 150, 5); CloseButton = new MirButton { HoverIndex = 361, Index = 360, Location = new Point(Size.Width - 27, 3), Library = Libraries.Prguse2, Parent = this, PressedIndex = 362, Sound = SoundList.ButtonA, }; CloseButton.Click += (o, e) => Hide(); HelpButton = new MirButton { Index = 257, HoverIndex = 258, PressedIndex = 259, Library = Libraries.Prguse2, Parent = this, Location = new Point(Size.Width - 50, 3), Sound = SoundList.ButtonA, }; HelpButton.Click += (o, e) => GameScene.Scene.HelpDialog.DisplayPage(""); PreviousButton = new MirButton { Index = 240, HoverIndex = 241, PressedIndex = 242, Library = Libraries.Prguse2, Parent = this, Location = new Point(102, Size.Height - 55), Sound = SoundList.ButtonA, }; PreviousButton.Click += (o, e) => { if (CurrentPage <= 1) return; SelectedMail = null; CurrentPage--; StartIndex -= 10; UpdateInterface(); }; PageLabel = new MirLabel { Text = "", Parent = this, Location = new Point(120, Size.Height - 55), Size = new Size(67, 15), DrawFormat = TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter, }; NextButton = new MirButton { Index = 243, HoverIndex = 244, PressedIndex = 245, Library = Libraries.Prguse2, Parent = this, Location = new Point(192, Size.Height - 55), Sound = SoundList.ButtonA, }; NextButton.Click += (o, e) => { if (CurrentPage >= PageCount) return; SelectedMail = null; CurrentPage++; StartIndex += 10; UpdateInterface(); }; #region Action Buttons SendButton = new MirButton { Index = 563, HoverIndex = 564, PressedIndex = 565, Library = Libraries.Prguse, Parent = this, Location = new Point(75, 414), Sound = SoundList.ButtonA, Hint = "Send" }; SendButton.Click += (o, e) => { MirInputBox inputBox = new MirInputBox("Please enter the name of the person you would like to mail."); inputBox.OKButton.Click += (o1, e1) => { //open letter dialog, pass in name GameScene.Scene.MailComposeLetterDialog.ComposeMail(inputBox.InputTextBox.Text); inputBox.Dispose(); }; inputBox.Show(); }; ReplyButton = new MirButton { Index = 569, HoverIndex = 570, PressedIndex = 571, Library = Libraries.Prguse, Parent = this, Location = new Point(102, 414), Sound = SoundList.ButtonA, Hint = "Reply" }; ReplyButton.Click += (o, e) => { if (SelectedMail == null) return; GameScene.Scene.MailComposeLetterDialog.ComposeMail(SelectedMail.SenderName); }; ReadButton = new MirButton { Index = 572, HoverIndex = 573, PressedIndex = 574, Library = Libraries.Prguse, Parent = this, Location = new Point(129, 414), Sound = SoundList.ButtonA, Hint = "Read" }; ReadButton.Click += (o, e) => { if (SelectedMail == null) return; if(SelectedMail.Gold > 0 || SelectedMail.Items.Count > 0) { GameScene.Scene.MailReadParcelDialog.ReadMail(SelectedMail); } else { GameScene.Scene.MailReadLetterDialog.ReadMail(SelectedMail); } }; DeleteButton = new MirButton { Index = 557, HoverIndex = 558, PressedIndex = 559, Library = Libraries.Prguse, Parent = this, Location = new Point(156, 414), Sound = SoundList.ButtonA, Hint = "Delete" }; DeleteButton.Click += (o, e) => { if (SelectedMail == null || SelectedMail.Locked) return; if (SelectedMail.Items.Count > 0 || SelectedMail.Gold > 0) { MirMessageBox messageBox = new MirMessageBox("This parcel contains items or gold. Are you sure you want to delete it?", MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o1, e1) => { Network.Enqueue(new C.DeleteMail { MailID = SelectedMail.MailID }); SelectedMail = null; }; messageBox.Show(); } else { Network.Enqueue(new C.DeleteMail { MailID = SelectedMail.MailID }); SelectedMail = null; } }; BlockListButton = new MirButton { Index = 520, HoverIndex = 521, PressedIndex = 522, Library = Libraries.Prguse, Parent = this, Location = new Point(183, 414), Sound = SoundList.ButtonA, Hint = "Block List" }; BugReportButton = new MirButton { Index = 523, HoverIndex = 524, PressedIndex = 525, Library = Libraries.Prguse, Parent = this, Location = new Point(210, 414), Sound = SoundList.ButtonA, Hint = "Report Bug" }; #endregion }