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 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 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(); }
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 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(); }
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 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 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 }