public LoginScene() { SoundManager.PlaySound(SoundList.IntroMusic, true); Disposing += (o, e) => SoundManager.StopSound(SoundList.IntroMusic); _background = new MirAnimatedControl { Animated = false, AnimationCount = 19, AnimationDelay = 100, Index = 0, Library = Libraries.ChrSel, Loop = false, Parent = this, }; _login = new LoginDialog {Parent = _background, Visible = false}; _login.AccountButton.Click += (o, e) => { _login.Hide(); _account = new NewAccountDialog { Parent = _background }; _account.Disposing += (o1, e1) => _login.Show(); }; _login.PassButton.Click += (o, e) => { _login.Hide(); _password = new ChangePasswordDialog { Parent = _background }; _password.Disposing += (o1, e1) => _login.Show(); }; Version = new MirLabel { AutoSize = true, BackColour = Color.FromArgb(200, 50, 50, 50), Border = true, BorderColour = Color.Black, Location = new Point(5, 580), Parent = _background, Text = string.Format("Version: {0}", Application.ProductVersion), }; _connectBox = new MirMessageBox("Attempting to connect to the server.", MirMessageBoxButtons.Cancel); _connectBox.CancelButton.Click += (o, e) => Program.Form.Close(); Shown += (sender, args) => { Network.Connect(); _connectBox.Show(); }; }
public void OnNewRank(int Index, int SelectedIndex) { if (SelectedIndex >= Ranks.Count) return; if (LastGuildMsg > CMain.Time) return; MirMessageBox messageBox = new MirMessageBox(string.Format("Are you sure you want to change the rank of {0} to {1}?", MembersName[Index].Text, Ranks[SelectedIndex].Name), MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, a) => { Network.Enqueue(new C.EditGuildMember { ChangeType = 2, Name = MembersName[Index].Text, RankIndex = (byte)Ranks[SelectedIndex].Index, RankName = Ranks[SelectedIndex].Name }); LastGuildMsg = CMain.Time + 5000; }; messageBox.Show(); }
private void DeleteCharacter() { if (_selected < 0 || _selected >= Characters.Count) return; MirMessageBox message = new MirMessageBox(string.Format("Are you sure you want to Delete the character {0}?", Characters[_selected].Name), MirMessageBoxButtons.YesNo); int index = Characters[_selected].Index; message.YesButton.Click += (o, e) => { DeleteCharacterButton.Enabled = false; Network.Enqueue(new C.DeleteCharacter { CharacterIndex = index }); }; message.Show(); }
public QuestListDialog() { Index = 950; Library = Libraries.Prguse; Movable = true; Sort = true; Location = new Point(GameScene.Scene.NPCDialog.Size.Width + 47, 0); MirImageControl TitleLabel = new MirImageControl { Index = 14, Library = Libraries.Title, Location = new Point(18, 5), Parent = this }; #region QuestSelection MirButton upQuestButton = new MirButton { Index = 951, HoverIndex = 952, PressedIndex = 953, Library = Libraries.Prguse, Parent = this, Location = new Point(291, 35), Sound = SoundList.ButtonA, }; upQuestButton.Click += (o, e) => { if (SelectedQuest != null) { SelectedIndex = FindSelectedIndex(); if (SelectedIndex > 0) SelectedIndex--; else StartIndex--; } RefreshInterface(); }; MirButton downQuestButton = new MirButton { Index = 957, HoverIndex = 958, PressedIndex = 959, Library = Libraries.Prguse, Parent = this, Location = new Point(291, 83), Sound = SoundList.ButtonA, }; downQuestButton.Click += (o, e) => { if (SelectedQuest != null) { SelectedIndex = FindSelectedIndex(); if (SelectedIndex < Rows.Length - 1) SelectedIndex++; else StartIndex++; } RefreshInterface(); }; #endregion #region Buttons _acceptButton = new MirButton { Index = 270, HoverIndex = 271, PressedIndex = 272, Library = Libraries.Title, Parent = this, Location = new Point(40, 437), Sound = SoundList.ButtonA, }; _acceptButton.Click += (o, e) => { if (Reward == null || SelectedQuest.Taken) return; Network.Enqueue(new C.AcceptQuest { NPCIndex = SelectedQuest.QuestInfo.NPCIndex, QuestIndex = SelectedQuest.QuestInfo.Index }); //Hide(); }; _finishButton = new MirButton { Index = 273, HoverIndex = 274, PressedIndex = 275, Library = Libraries.Title, Parent = this, Location = new Point(40, 437), Sound = SoundList.ButtonA, Visible = false }; _finishButton.Click += (o, e) => { if (Reward == null || !SelectedQuest.Completed) return; if (Reward.SelectedItemIndex < 0 && SelectedQuest.QuestInfo.RewardsSelectItem.Count > 0) { MirMessageBox messageBox = new MirMessageBox("You must select a reward item."); messageBox.Show(); return; } Network.Enqueue(new C.FinishQuest { QuestIndex = SelectedQuest.QuestInfo.Index, SelectedItemIndex = Reward.SelectedItemIndex }); //Hide(); }; MirButton leaveButton = new MirButton { Index = 276, HoverIndex = 277, PressedIndex = 278, Library = Libraries.Title, Parent = this, Location = new Point(205, 437), Sound = SoundList.ButtonA, }; leaveButton.Click += (o, e) => Hide(); #endregion #region Message Area MirButton upButton = new MirButton { Index = 197, HoverIndex = 198, PressedIndex = 199, Library = Libraries.Prguse2, Parent = this, Size = new Size(16, 14), Location = new Point(292, 136), Sound = SoundList.ButtonA, Visible = true }; MirButton downButton = new MirButton { Index = 207, HoverIndex = 208, Library = Libraries.Prguse2, PressedIndex = 209, Parent = this, Size = new Size(16, 14), Location = new Point(292, 282), Sound = SoundList.ButtonA, Visible = true }; MirButton positionBar = new MirButton { Index = 205, HoverIndex = 206, PressedIndex = 206, Library = Libraries.Prguse2, Location = new Point(292, 149), Parent = this, Movable = true, Sound = SoundList.None, Visible = false }; Message = new QuestMessage(upButton, downButton, positionBar, 10) { Font = new Font(Settings.FontName, 9F), Parent = this, Size = new Size(280, 160), Location = new Point(10, 135), PosMinY = 149, PosMaxY = 263 }; #endregion #region Rewards Reward = new QuestRewards { Parent = this, Visible = false, Size = new Size(313, 130), Location = new Point(5, 307) }; #endregion _availableQuestLabel = new MirLabel { Font = new Font(Settings.FontName, 8F), Parent = this, AutoSize = true, Location = new Point(210, 8) }; MirButton closeButton = new MirButton { Index = 360, HoverIndex = 361, PressedIndex = 362, Library = Libraries.Prguse2, Parent = this, Location = new Point(289, 3), Sound = SoundList.ButtonA, }; closeButton.Click += (o, e) => Hide(); MirButton helpButton = new MirButton { Index = 257, HoverIndex = 258, PressedIndex = 259, Library = Libraries.Prguse2, Parent = this, Location = new Point(266, 3), Sound = SoundList.ButtonA, }; helpButton.Click += (o, e) => GameScene.Scene.HelpDialog.DisplayPage("Quests"); }
private static void OnMouseDown(object sender, MouseEventArgs e) { MapButtons |= e.Button; GameScene.CanRun = false; if (AwakeningAction == true) return; if (e.Button != MouseButtons.Left) return; if (GameScene.SelectedCell != null) { if (GameScene.SelectedCell.GridType != MirGridType.Inventory) { GameScene.SelectedCell = null; return; } MirItemCell cell = GameScene.SelectedCell; if (cell.Item.Info.Bind.HasFlag(BindMode.DontDrop)) { MirMessageBox messageBox = new MirMessageBox(string.Format("You cannot drop {0}", cell.Item.Name), MirMessageBoxButtons.OK); messageBox.Show(); GameScene.SelectedCell = null; return; } if (cell.Item.Count == 1) { MirMessageBox messageBox = new MirMessageBox(string.Format("Are you sure you want to drop {0}?", cell.Item.FriendlyName), MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, a) => { Network.Enqueue(new C.DropItem { UniqueID = cell.Item.UniqueID, Count = 1 }); cell.Locked = true; }; messageBox.Show(); } else { MirAmountBox amountBox = new MirAmountBox("Drop Amount:", cell.Item.Info.Image, cell.Item.Count); amountBox.OKButton.Click += (o, a) => { if (amountBox.Amount <= 0) return; Network.Enqueue(new C.DropItem { UniqueID = cell.Item.UniqueID, Count = amountBox.Amount }); cell.Locked = true; }; amountBox.Show(); } GameScene.SelectedCell = null; return; } if (GameScene.PickedUpGold) { MirAmountBox amountBox = new MirAmountBox("Drop Amount:", 116, GameScene.Gold); amountBox.OKButton.Click += (o, a) => { if (amountBox.Amount > 0) { Network.Enqueue(new C.DropGold { Amount = amountBox.Amount }); } }; amountBox.Show(); GameScene.PickedUpGold = false; } if (MapObject.MouseObject != null && !MapObject.MouseObject.Dead && !(MapObject.MouseObject is ItemObject) && !(MapObject.MouseObject is NPCObject) && !(MapObject.MouseObject is MonsterObject && MapObject.MouseObject.AI == 64)) { MapObject.TargetObject = MapObject.MouseObject; if (MapObject.MouseObject is MonsterObject && MapObject.MouseObject.AI != 6) MapObject.MagicObject = MapObject.TargetObject; } else MapObject.TargetObject = null; }
public void LogOut() { if (CMain.Time >= LogTime) { //If Last Combat < 10 CANCEL MirMessageBox messageBox = new MirMessageBox("Do you want to log out of Legend of Mir?", MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, e) => { Network.Enqueue(new C.LogOut()); Enabled = false; }; messageBox.Show(); } else { ChatDialog.ReceiveChat("Cannot leave game for " + (LogTime - CMain.Time) / 1000 + " seconds.", ChatType.System); } }
private void RequestReincarnation() { if (CMain.Time > User.DeadTime && User.CurrentAction == MirAction.Dead) { MirMessageBox messageBox = new MirMessageBox("Would you like to be revived?", MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, e) => Network.Enqueue(new C.AcceptReincarnation()); messageBox.Show(); } }
private void Awakening(S.Awakening p) { if (NPCAwakeDialog.Visible) NPCAwakeDialog.Hide(); if (InventoryDialog.Visible) InventoryDialog.Hide(); MirItemCell cell = InventoryDialog.GetCell((ulong)p.removeID); if (cell != null) { cell.Locked = false; cell.Item = null; } /* for (int i = 0; i < InventoryDialog.Grid.Length; i++) { if (InventoryDialog.Grid[i].Locked == true) { InventoryDialog.Grid[i].Locked = false; if (InventoryDialog.Grid[i].Item.UniqueID == (ulong)p.removeID) { InventoryDialog.Grid[i].Item = null; } } } */ MirMessageBox messageBox = null; switch (p.result) { case -4: messageBox = new MirMessageBox("You have not supplied enough materials.", MirMessageBoxButtons.OK); MapControl.AwakeningAction = false; break; case -3: messageBox = new MirMessageBox("You do not have enough gold.", MirMessageBoxButtons.OK); MapControl.AwakeningAction = false; break; case -2: messageBox = new MirMessageBox("Awakening already at maximum level.", MirMessageBoxButtons.OK); MapControl.AwakeningAction = false; break; case -1: messageBox = new MirMessageBox("Cannot awaken this item.", MirMessageBoxButtons.OK); MapControl.AwakeningAction = false; break; case 0: //messageBox = new MirMessageBox("Upgrade Failed.", MirMessageBoxButtons.OK); break; case 1: //messageBox = new MirMessageBox("Upgrade Success.", MirMessageBoxButtons.OK); break; } if (messageBox != null) messageBox.Show(); }
public void Show() { if (Visible) return; if (!GameScene.User.IntelligentCreatures.Any()) { MirMessageBox messageBox = new MirMessageBox("You do not own any creatures.", MirMessageBoxButtons.OK); messageBox.Show(); return; } Visible = true; showing = true; SwitchAnimTime = CMain.Time + 8000; AnimSwitched = false; AnimNeedSwitch = false; RefreshDialog(); }
public TrustMerchantDialog() { Index = 670; Library = Libraries.Prguse; Sort = true; SearchTextBox = new MirTextBox { Location = new Point(19, 329), Parent = this, Size = new Size(104, 15), MaxLength = 20, CanLoseFocus = true }; SearchTextBox.TextBox.KeyPress += SearchTextBox_KeyPress; SearchTextBox.TextBox.KeyUp += SearchTextBox_KeyUp; SearchTextBox.TextBox.KeyDown += SearchTextBox_KeyDown; FindButton = new MirButton { HoverIndex = 481, Index = 480, Location = new Point(130, 325), Library = Libraries.Title, Parent = this, PressedIndex = 482, Sound = SoundList.ButtonA, }; FindButton.Click += (o, e) => { if (string.IsNullOrEmpty(SearchTextBox.Text)) return; if (CMain.Time < SearchTime) { GameScene.Scene.ChatDialog.ReceiveChat(string.Format("You can search again after {0} seconds.", Math.Ceiling((SearchTime - CMain.Time) / 1000D)), ChatType.System); return; } SearchTime = CMain.Time + Globals.SearchDelay; Network.Enqueue(new C.MarketSearch { Match = SearchTextBox.Text, }); }; RefreshButton = new MirButton { HoverIndex = 664, Index = 663, Location = new Point(190, 325), Library = Libraries.Prguse, Parent = this, PressedIndex = 665, Sound = SoundList.ButtonA, }; RefreshButton.Click += (o, e) => { if (CMain.Time < SearchTime) { GameScene.Scene.ChatDialog.ReceiveChat(string.Format("You can search again after {0} seconds.", Math.Ceiling((SearchTime - CMain.Time) / 1000D)), ChatType.System); return; } SearchTime = CMain.Time + Globals.SearchDelay; SearchTextBox.Text = string.Empty; Network.Enqueue(new C.MarketRefresh()); }; MailButton = new MirButton { HoverIndex = 667, Index = 666, Location = new Point(225, 325), Library = Libraries.Prguse, Parent = this, PressedIndex = 668, Sound = SoundList.ButtonA, Visible = false }; BuyButton = new MirButton { HoverIndex = 484, Index = 483, Location = new Point(400, 325), Library = Libraries.Title, Parent = this, PressedIndex = 485, Sound = SoundList.ButtonA, }; BuyButton.Click += (o, e) => { if (Selected == null || CMain.Time < MarketTime) return; if (UserMode) { if (Selected.Listing.Seller == "For Sale") { MirMessageBox box = new MirMessageBox(string.Format("{0} has not sold, Are you sure you want to get it back?", Selected.Listing.Item.Name), MirMessageBoxButtons.YesNo); box.YesButton.Click += (o1, e2) => { MarketTime = CMain.Time + 3000; Network.Enqueue(new C.MarketGetBack { AuctionID = Selected.Listing.AuctionID }); }; box.Show(); } else { MarketTime = CMain.Time + 3000; Network.Enqueue(new C.MarketGetBack { AuctionID = Selected.Listing.AuctionID }); } } else { MirMessageBox box = new MirMessageBox(string.Format("Are you sure you want to buy {0} for {1}?", Selected.Listing.Item.Name, Selected.Listing.Price), MirMessageBoxButtons.YesNo); box.YesButton.Click += (o1, e2) => { MarketTime = CMain.Time + 3000; Network.Enqueue(new C.MarketBuy { AuctionID = Selected.Listing.AuctionID }); }; box.Show(); } }; BackButton = new MirButton { Index = 398, Location = new Point(189, 298), Library = Libraries.Prguse, Parent = this, PressedIndex = 399, Sound = SoundList.ButtonA, }; BackButton.Click += (o, e) => { if (Page <= 0) return; Page--; UpdateInterface(); }; NextButton = new MirButton { Index = 396, Location = new Point(283, 298), Library = Libraries.Prguse, Parent = this, PressedIndex = 397, Sound = SoundList.ButtonA, }; NextButton.Click += (o, e) => { if (Page >= PageCount - 1) return; if (Page < (Listings.Count - 1) / 10) { Page++; UpdateInterface(); return; } Network.Enqueue(new C.MarketPage { Page = Page + 1 }); }; CloseButton = new MirButton { HoverIndex = 361, Index = 360, Location = new Point(462, 3), Library = Libraries.Prguse2, Parent = this, PressedIndex = 362, Sound = SoundList.ButtonA, }; CloseButton.Click += (o, e) => Hide(); PageLabel = new MirLabel { Location = new Point(207, 298), Size = new Size(70, 18), DrawFormat = TextFormatFlags.HorizontalCenter, Parent = this, NotControl = true, Text = "0/0", }; NameLabel = new MirLabel { AutoSize = true, ForeColour = Color.Yellow, Location = new Point(20, 240), Parent = this, NotControl = true, }; TotalPriceLabel = new MirLabel { AutoSize = true, Location = new Point(20, 256), Parent = this, NotControl = true, }; SplitPriceLabel = new MirLabel { AutoSize = true, Location = new Point(20, 272), Parent = this, NotControl = true, }; DateLabel = new MirLabel { AutoSize = true, Location = new Point(250, 245), Parent = this, NotControl = true, Text = "Start Date:" }; ExpireLabel = new MirLabel { AutoSize = true, Location = new Point(250, 265), Parent = this, NotControl = true, Text = "Expire Date:" }; ItemLabel = new MirLabel { Location = new Point(7, 32), Size = new Size(142, 22), DrawFormat = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter, Parent = this, NotControl = true, Text = "Item", }; PriceLabel = new MirLabel { Location = new Point(148, 32), Size = new Size(180, 22), DrawFormat = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter, Parent = this, NotControl = true, Text = "Price", }; SellerLabel = new MirLabel { Location = new Point(327, 32), Size = new Size(150, 22), DrawFormat = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter, Parent = this, NotControl = true, Text = "Seller", }; for (int i = 0; i < Rows.Length; i++) { Rows[i] = new AuctionRow { Location = new Point(8, 54 + i * 18), Parent = this }; Rows[i].Click += (o, e) => { Selected = (AuctionRow)o; UpdateInterface(); }; } ItemCell = new MirItemCell { ItemSlot = 0, GridType = MirGridType.TrustMerchant, Library = Libraries.Items, Parent = this, Location = new Point(195, 248), }; }
public void Show() { if (Visible) return; if (MapControl.User.GuildName == "") { MirMessageBox messageBox = new MirMessageBox("You are not in a guild.", MirMessageBoxButtons.OK); messageBox.Show(); return; } if (!RequestedList) RequestGuildBuffList(); StartIndex = 0; Visible = true; }
public void RequestBuff(byte Id) { if ((Id + StartIndex) > GuildBuffInfos.Count) return; GuildBuffInfo BuffInfo = GuildBuffInfos[Id + StartIndex]; if (BuffInfo == null) return; GuildBuff Buff = FindGuildBuff(BuffInfo.Id); if (Buff == null) { string Error = ""; if (GameScene.Scene.GuildDialog.SparePoints < BuffInfo.PointsRequirement) Error = "Insufficient points available."; if (GameScene.Scene.GuildDialog.Level < BuffInfo.LevelRequirement) Error = "Guild level too low."; if (!GameScene.Scene.GuildDialog.GetMyOptions().HasFlag(RankOptions.CanActivateBuff)) Error = "Guild rank does not allow buff activation."; if (Error != "") { MirMessageBox messageBox = new MirMessageBox(Error); messageBox.Show(); return; } if (CMain.Time < LastRequest + 100) return; LastRequest = CMain.Time; Network.Enqueue(new C.GuildBuffUpdate { Action = 1, Id = BuffInfo.Id }); } else { string Error = ""; if (Buff.Active) Error = "Buff is still active."; if (GameScene.Scene.GuildDialog.Gold < BuffInfo.ActivationCost) Error = "Insufficient guild funds."; if (!GameScene.Scene.GuildDialog.GetMyOptions().HasFlag(RankOptions.CanActivateBuff)) Error = "Guild rank does not allow buff activation."; if (Error != "") { MirMessageBox messageBox = new MirMessageBox(Error); messageBox.Show(); return; } if (CMain.Time < LastRequest + 100) return; LastRequest = CMain.Time; Network.Enqueue(new C.GuildBuffUpdate {Action = 2, Id = BuffInfo.Id}); } }
public void Show() { if (Visible) return; if (MapControl.User.GuildName == "") { MirMessageBox messageBox = new MirMessageBox("You are not in a guild.", MirMessageBoxButtons.OK); messageBox.Show(); return; } Visible = true; if (NoticePage.Visible) if ((NoticeChanged) && (LastNoticeRequest < CMain.Time)) { LastNoticeRequest = CMain.Time + 5000; Network.Enqueue(new C.RequestGuildInfo() { Type = 0 }); } }
public void OnRankSelect(int Index) { if (Index < Ranks.Count) RanksSelectBox.SelectedIndex = Index; else { if (Ranks.Count == 255) return; if (LastGuildMsg > CMain.Time) return; MirMessageBox messageBox = new MirMessageBox("Are you sure you want to create a new rank?", MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, a) => { Network.Enqueue(new C.EditGuildMember { ChangeType = 4, RankName = String.Format("Rank-{0}", Ranks.Count - 1) }); LastGuildMsg = CMain.Time + 5000; }; messageBox.Show(); } UpdateRanks(); }
public void DeleteMember(int Index) { if (MembersName[Index].Text == MapControl.User.Name) return; if (LastGuildMsg > CMain.Time) return; MirMessageBox messageBox = new MirMessageBox(string.Format("Are you sure you want to kick {0}?", MembersName[Index].Text), MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, a) => { Network.Enqueue(new C.EditGuildMember { ChangeType = 1, Name = MembersName[Index].Text }); LastGuildMsg = CMain.Time + 5000; }; messageBox.Show(); }
private void TradeRequest(S.TradeRequest p) { MirMessageBox messageBox = new MirMessageBox(string.Format("Player {0} has requested to trade with you.", p.Name), MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, e) => Network.Enqueue(new C.TradeReply { AcceptInvite = true }); messageBox.NoButton.Click += (o, e) => { Network.Enqueue(new C.TradeReply { AcceptInvite = false }); messageBox.Dispose(); }; messageBox.Show(); }
private void TradeCancel(S.TradeCancel p) { if (p.Unlock) { TradeDialog.ChangeLockState(false); } else { TradeDialog.TradeReset(); MirMessageBox messageBox = new MirMessageBox("Deal cancelled.\r\nTo deal correctly you must face the other party.", MirMessageBoxButtons.OK); messageBox.Show(); } }
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 ParcelCollected(S.ParcelCollected p) { switch(p.Result) { case -1: MirMessageBox messageBox = new MirMessageBox(string.Format("No parcels to collect."), MirMessageBoxButtons.OK); messageBox.Show(); break; case 0: messageBox = new MirMessageBox(string.Format("All parcels have been collected."), MirMessageBoxButtons.OK); messageBox.Show(); break; case 1: GameScene.Scene.MailReadParcelDialog.Hide(); break; } }
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 void QuitGame() { if (CMain.Time >= LogTime) { //If Last Combat < 10 CANCEL MirMessageBox messageBox = new MirMessageBox("Do you want to quit Legend of Mir?", MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, e) => Program.Form.Close(); messageBox.Show(); } else { ChatDialog.ReceiveChat("Cannot leave game for " + (LogTime - CMain.Time) / 1000 + " seconds.", ChatType.System); } }
private void ShareQuest(S.ShareQuest p) { ClientQuestInfo quest = GameScene.QuestInfoList.FirstOrDefault(e => e.Index == p.QuestIndex); if (quest == null) return; MirMessageBox messageBox = new MirMessageBox(string.Format("{0} would like to share a quest with you. Do you accept?", p.SharerName), MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, e) => Network.Enqueue(new C.AcceptQuest { NPCIndex = 0, QuestIndex = quest.Index }); messageBox.Show(); }
public override void Process() { if (MapControl == null || User == null) return; if (CMain.Time >= MoveTime) { MoveTime += 100; //Move Speed CanMove = true; MapControl.AnimationCount++; MapControl.TextureValid = false; } else CanMove = false; MirItemCell cell = MouseControl as MirItemCell; if (cell != null && HoverItem != cell.Item) { DisposeItemLabel(); HoverItem = null; CreateItemLabel(cell.Item); } if (ItemLabel != null && !ItemLabel.IsDisposed) { ItemLabel.BringToFront(); int x = CMain.MPoint.X + 15, y = CMain.MPoint.Y; if (x + ItemLabel.Size.Width > Settings.ScreenWidth) x = Settings.ScreenWidth - ItemLabel.Size.Width; if (y + ItemLabel.Size.Height > Settings.ScreenHeight) y = Settings.ScreenHeight - ItemLabel.Size.Height; ItemLabel.Location = new Point(x, y); } if (MailLabel != null && !MailLabel.IsDisposed) { MailLabel.BringToFront(); int x = CMain.MPoint.X + 15, y = CMain.MPoint.Y; if (x + MailLabel.Size.Width > Settings.ScreenWidth) x = Settings.ScreenWidth - MailLabel.Size.Width; if (y + MailLabel.Size.Height > Settings.ScreenHeight) y = Settings.ScreenHeight - MailLabel.Size.Height; MailLabel.Location = new Point(x, y); } if (MemoLabel != null && !MemoLabel.IsDisposed) { MemoLabel.BringToFront(); int x = CMain.MPoint.X + 15, y = CMain.MPoint.Y; if (x + MemoLabel.Size.Width > Settings.ScreenWidth) x = Settings.ScreenWidth - MemoLabel.Size.Width; if (y + MemoLabel.Size.Height > Settings.ScreenHeight) y = Settings.ScreenHeight - MemoLabel.Size.Height; MemoLabel.Location = new Point(x, y); } if (GuildBuffLabel != null && !GuildBuffLabel.IsDisposed) { GuildBuffLabel.BringToFront(); int x = CMain.MPoint.X + 15, y = CMain.MPoint.Y; if (x + GuildBuffLabel.Size.Width > Settings.ScreenWidth) x = Settings.ScreenWidth - GuildBuffLabel.Size.Width; if (y + GuildBuffLabel.Size.Height > Settings.ScreenHeight) y = Settings.ScreenHeight - GuildBuffLabel.Size.Height; GuildBuffLabel.Location = new Point(x, y); } if (!User.Dead) ShowReviveMessage = false; if (ShowReviveMessage && CMain.Time > User.DeadTime && User.CurrentAction == MirAction.Dead) { ShowReviveMessage = false; MirMessageBox messageBox = new MirMessageBox("You have died, Do you want to revive in town?", MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, e) => { if (User.Dead) Network.Enqueue(new C.TownRevive()); }; messageBox.AfterDraw += (o, e) => { if (!User.Dead) messageBox.Dispose(); }; messageBox.Show(); } UpdateBuffs(); MapControl.Process(); MainDialog.Process(); InventoryDialog.Process(); GameShopDialog.Process(); MiniMapDialog.Process(); SkillBarDialog.Process(); DialogProcess(); ProcessOuput(); }
private void GuildInvite(S.GuildInvite p) { MirMessageBox messageBox = new MirMessageBox(string.Format("Do you want to join the {0} guild?", p.Name), MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, e) => Network.Enqueue(new C.GuildInvite { AcceptInvite = true }); messageBox.NoButton.Click += (o, e) => Network.Enqueue(new C.GuildInvite { AcceptInvite = false }); messageBox.Show(); }
public QuestDetailDialog() { Index = 960; Library = Libraries.Prguse; Movable = true; Sort = true; Location = new Point(Settings.ScreenWidth / 2 + 20, 60); MirImageControl TitleLabel = new MirImageControl { Index = 16, Library = Libraries.Title, Location = new Point(18, 5), Parent = this }; #region Message Area MirButton upButton = new MirButton { Index = 197, HoverIndex = 198, PressedIndex = 199, Library = Libraries.Prguse2, Parent = this, Size = new Size(16, 14), Location = new Point(293, 33), Sound = SoundList.ButtonA, Visible = true }; MirButton downButton = new MirButton { Index = 207, HoverIndex = 208, Library = Libraries.Prguse2, PressedIndex = 209, Parent = this, Size = new Size(16, 14), Location = new Point(293, 280), Sound = SoundList.ButtonA, Visible = true }; MirButton positionBar = new MirButton { Index = 205, HoverIndex = 206, PressedIndex = 206, Library = Libraries.Prguse2, Location = new Point(293, 48), Parent = this, Movable = true, Sound = SoundList.None, Visible = false }; Message = new QuestMessage(upButton, downButton, positionBar, 16, true) { Font = new Font(Settings.FontName, 9F), Parent = this, Size = new Size(280, 320), Location = new Point(10, 35), PosMinY = 46, PosMaxY = 261 }; #endregion #region Rewards Reward = new QuestRewards { Parent = this, Size = new Size(315, 130), Location = new Point(5, 307) }; #endregion #region Buttons _shareButton = new MirButton { Index = 616, HoverIndex = 617, PressedIndex = 618, Library = Libraries.Title, Parent = this, Location = new Point(40, 437), Sound = SoundList.ButtonA }; _shareButton.Click += (o, e) => { Network.Enqueue(new C.ShareQuest { QuestIndex = Quest.Id }); }; _pauseButton = new MirButton { Index = 270, HoverIndex = 271, PressedIndex = 272, Library = Libraries.Title, Parent = this, Location = new Point(120, 437), Sound = SoundList.ButtonA, Visible = false }; _cancelButton = new MirButton { Index = 203, HoverIndex = 204, PressedIndex = 205, Library = Libraries.Title, Parent = this, Location = new Point(200, 437), Sound = SoundList.ButtonA, }; _cancelButton.Click += (o, e) => { MirMessageBox messageBox = new MirMessageBox("Are you sure you want to cancel this quest?", MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o1, a) => { Network.Enqueue(new C.AbandonQuest { QuestIndex = Quest.Id }); Hide(); }; messageBox.Show(); }; #endregion MirButton closeButton = new MirButton { Index = 360, HoverIndex = 361, PressedIndex = 362, Library = Libraries.Prguse2, Parent = this, Location = new Point(289, 3), Sound = SoundList.ButtonA, }; closeButton.Click += (o, e) => Hide(); //MirButton helpButton = new MirButton //{ // Index = 257, // HoverIndex = 258, // PressedIndex = 259, // Library = Libraries.Prguse2, // Parent = this, // Location = new Point(266, 3), // Sound = SoundList.ButtonA, //}; //helpButton.Click += (o, e) => GameScene.Scene.HelpDialog.DisplayPage("Quests"); }
private void MarriageRequest(S.MarriageRequest p) { MirMessageBox messageBox = new MirMessageBox(string.Format("{0} has asked for your hand in marriage.", p.Name), MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, e) => Network.Enqueue(new C.MarriageReply { AcceptInvite = true }); messageBox.NoButton.Click += (o, e) => { Network.Enqueue(new C.MarriageReply { AcceptInvite = false }); messageBox.Dispose(); }; messageBox.Show(); }
public void StartGame() { if (!Libraries.Loaded) { MirMessageBox message = new MirMessageBox(string.Format("Please wait, The game is still loading... {0:##0}%", Libraries.Progress / (double)Libraries.Count * 100), MirMessageBoxButtons.Cancel); message.BeforeDraw += (o, e) => message.Label.Text = string.Format("Please wait, The game is still loading... {0:##0}%", Libraries.Progress / (double)Libraries.Count * 100); message.AfterDraw += (o, e) => { if (!Libraries.Loaded) return; message.Dispose(); StartGame(); }; message.Show(); return; } StartGameButton.Enabled = false; Network.Enqueue(new C.StartGame { CharacterIndex = Characters[_selected].Index }); }
private void DivorceRequest(S.DivorceRequest p) { MirMessageBox messageBox = new MirMessageBox(string.Format("{0} has requested a divorce", p.Name), MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, e) => Network.Enqueue(new C.DivorceReply { AcceptInvite = true }); messageBox.NoButton.Click += (o, e) => { Network.Enqueue(new C.DivorceReply { AcceptInvite = false }); messageBox.Dispose(); }; messageBox.Show(); }
private void StartGame(S.StartGameDelay p) { StartGameButton.Enabled = true; long time = CMain.Time + p.Milliseconds; MirMessageBox message = new MirMessageBox(string.Format("You cannot log onto this character for another {0} seconds.", Math.Ceiling(p.Milliseconds/1000M))); message.BeforeDraw += (o, e) => message.Label.Text = string.Format("You cannot log onto this character for another {0} seconds.", Math.Ceiling((time - CMain.Time)/1000M)); message.AfterDraw += (o, e) => { if (CMain.Time <= time) return; message.Dispose(); StartGame(); }; message.Show(); }
private void MentorRequest(S.MentorRequest p) { MirMessageBox messageBox = new MirMessageBox(string.Format("{0} (Level {1}) has requested you teach him the ways of the {2}.", p.Name, p.Level, GameScene.User.Class.ToString()), MirMessageBoxButtons.YesNo); messageBox.YesButton.Click += (o, e) => Network.Enqueue(new C.MentorReply { AcceptInvite = true }); messageBox.NoButton.Click += (o, e) => { Network.Enqueue(new C.MentorReply { AcceptInvite = false }); messageBox.Dispose(); }; messageBox.Show(); }