static void ChatTextBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { e.Handled = true; if (!string.IsNullOrEmpty(ChatTextBox.Text)) { OutBound.Chat(); if (ChatTextBox.Text[0] == '/') { RecieveChat(new ChatInfo { Message = ChatTextBox.TextBox.Text, Type = MirChatType.OutBoundWhisper }); LastPM = ChatTextBox.Text.Substring(1); int TempI = LastPM.IndexOf(' '); if (TempI != -1) { LastPM = LastPM.Substring(0, TempI); } } } ChatTextBox.Visible = false; ChatTextBox.Text = string.Empty; } else if (e.KeyChar == (char)Keys.Escape) { e.Handled = true; ChatTextBox.Visible = false; ChatTextBox.Text = string.Empty; } else if (e.KeyChar == (char)Keys.Tab) { e.Handled = false; } }
static void LoginButton_Click(object sender, EventArgs e) { LoginButton.Enabled = false; OutBound.Login(); }
static void ConfirmButton_Click(object sender, EventArgs e) { ConfirmButton.Enabled = false; CharacterNameTextBox.Enabled = false; OutBound.NewCharacter(); }
private static void ConfirmButton_Click(object sender, EventArgs e) { ConfirmButton.Enabled = false; OutBound.ChangePassword(); }
public static OutBoundView ConvertToOutBoundView(this OutBound model) { return(Mapper.Map <OutBound, OutBoundView>(model)); }
static void ConfirmButton_Click(object sender, EventArgs e) { ConfirmButton.Enabled = false; OutBound.NewAccount(); }
static void StartGameButton_Click(object sender, EventArgs e) { StartGameButton.Enabled = false; OutBound.StartGame(); }
private void MoveItem() { if (SelectedCell == this) { SelectedCell = null; return; } UserItem I; if (SelectedCell != null) { if (SelectedCell.Item == null) { SelectedCell = null; return; } switch (GridType) { #region To Inventory case MirGridType.Inventory: switch (SelectedCell.GridType) { case MirGridType.Inventory: //From Inventory OutBound.MoveItem(GridType, SelectedCell.ItemSlot, ItemSlot); if (Item == null) { Item = SelectedCell.Item; SelectedCell.Item = null; SelectedCell = null; return; } I = Item; Item = SelectedCell.Item; SelectedCell.Item = I; return; case MirGridType.Equipment: // From Equipment if (!CanRemoveItem(SelectedCell.Item)) { SelectedCell = null; return; } OutBound.RemoveItem(GridType, SelectedCell.Item.UniqueID, ItemSlot); if (ItemArray[ItemSlot] == null) { ItemArray[ItemSlot] = SelectedCell.Item; SelectedCell.Item = null; SelectedCell = null; MapObject.User.RefreshLibraries(); MapObject.User.CalculateWeight(); return; } for (int X = 0; X < ItemArray.Length; X++) { if (ItemArray[X] == null) { ItemArray[X] = SelectedCell.Item; SelectedCell.Item = null; SelectedCell = null; MapObject.User.RefreshLibraries(); MapObject.User.CalculateWeight(); return; } } break; } break; #endregion #region To Equipment case MirGridType.Equipment: { if (CorrectSlot(SelectedCell.Item)) { if (CanWearItem(SelectedCell.Item)) { OutBound.EquipItem(SelectedCell.GridType, SelectedCell.Item.UniqueID, ItemSlot); I = Item; Item = SelectedCell.Item; SelectedCell.Item = I; } SelectedCell = null; MapObject.User.RefreshLibraries(); MapObject.User.CalculateWeight(); } return; } #endregion } return; } if (Item != null) { SelectedCell = this; } }
public void UseItem() { if (Item == null) { return; } UserItem Temp; switch (Item.Info.ItemType) { case MirItemType.Weapon: if (CharacterDialog.WeaponCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.WeaponCell.ItemSlot); Temp = CharacterDialog.WeaponCell.Item; CharacterDialog.WeaponCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } break; case MirItemType.ArmourMale: case MirItemType.ArmourFemale: if (CharacterDialog.ArmorCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.ArmorCell.ItemSlot); Temp = CharacterDialog.ArmorCell.Item; CharacterDialog.ArmorCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } break; case MirItemType.Helmet: if (CharacterDialog.HelmetCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.HelmetCell.ItemSlot); Temp = CharacterDialog.HelmetCell.Item; CharacterDialog.HelmetCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } return; case MirItemType.Necklace: if (CharacterDialog.NecklaceCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.NecklaceCell.ItemSlot); Temp = CharacterDialog.NecklaceCell.Item; CharacterDialog.NecklaceCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } break; case MirItemType.Bracelet: if (CharacterDialog.BraceletRCell.Item == null && CharacterDialog.BraceletRCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.BraceletRCell.ItemSlot); Temp = CharacterDialog.BraceletRCell.Item; CharacterDialog.BraceletRCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } else if (CharacterDialog.BraceletLCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.BraceletLCell.ItemSlot); Temp = CharacterDialog.BraceletLCell.Item; CharacterDialog.BraceletLCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } break; case MirItemType.Ring: if (CharacterDialog.RingRCell.Item == null && CharacterDialog.RingRCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.RingRCell.ItemSlot); Temp = CharacterDialog.RingRCell.Item; CharacterDialog.RingRCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } else if (CharacterDialog.RingLCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.RingLCell.ItemSlot); Temp = CharacterDialog.RingLCell.Item; CharacterDialog.RingLCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } break; case MirItemType.Amulet: if (CharacterDialog.AmuletCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.AmuletCell.ItemSlot); Temp = CharacterDialog.AmuletCell.Item; CharacterDialog.AmuletCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } break; case MirItemType.Belt: if (CharacterDialog.BeltCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.BeltCell.ItemSlot); Temp = CharacterDialog.BeltCell.Item; CharacterDialog.BeltCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } break; case MirItemType.Boots: if (CharacterDialog.BootsCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.BootsCell.ItemSlot); Temp = CharacterDialog.BootsCell.Item; CharacterDialog.BootsCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } break; case MirItemType.Stone: if (CharacterDialog.StoneCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.StoneCell.ItemSlot); Temp = CharacterDialog.StoneCell.Item; CharacterDialog.StoneCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } break; case MirItemType.Torch: if (CharacterDialog.TorchCell.CanWearItem(Item)) { OutBound.EquipItem(GridType, Item.UniqueID, CharacterDialog.TorchCell.ItemSlot); Temp = CharacterDialog.TorchCell.Item; CharacterDialog.TorchCell.Item = Item; Item = Temp; MapObject.User.RefreshLibraries(); } break; case MirItemType.Potion: case MirItemType.Scroll: if (CanUseItem() && GridType == MirGridType.Inventory) { OutBound.UseItem(GridType, Item.UniqueID); if (Item.Amount > 1) { Item.Amount--; } else { Item = null; } } break; case MirItemType.Tiger: break; } PlayItemSound(); MapObject.User.CalculateWeight(); }
public static void LogOut() { OutBound.LogOut(); Game_Scene.GameScene.Scene.Enabled = false; }
static void DeleteCharacter(object sender, EventArgs e) { OutBound.DeleteCharacter(); }
public static void OperateInput() { MirDirection Dir; PlayerObject User = MapObject.User; if (User.CanDoAction && MapObject.TargetObject != null && !MapObject.TargetObject.Dead) { if (MapObject.TargetObject as PlayerObject != null) { if (Shift && Functions.InRange(MapObject.TargetObject.Location, MapObject.User.Location, 1) && Main.CanAttack) { Dir = Functions.DirectionFromPoint(MapObject.User.Location, MapObject.TargetObject.Location); MapObject.User.Direction = Dir; MapObject.User.DoAction(MirAction.Attack1); OutBound.Attack(0); return; } } else if (MapObject.TargetObject as MonsterObject != null) { if (Functions.InRange(MapObject.TargetObject.Location, MapObject.User.Location, 1) && Main.CanAttack) { Dir = Functions.DirectionFromPoint(MapObject.User.Location, MapObject.TargetObject.Location); MapObject.User.Direction = Dir; MapObject.User.DoAction(MirAction.Attack1); OutBound.Attack(0); return; } } } if (Scene == MirControl.MouseControl && (MapObject.MouseObject as PlayerObject == null)) { Point TPoint = MousePoint(MouseLocation); Dir = MouseDirection(MouseLocation); switch (MouseB) { case MouseButtons.Right: if (MapObject.User.CanDoAction) { if (Math.Abs(TPoint.X - Settings.PlayerOffSet.X) <= 2 && Math.Abs(TPoint.Y - Settings.PlayerOffSet.Y) <= 2) { if (MapObject.User.Frame > 1) { MapObject.User.Direction = Dir; MapObject.User.DoAction(MirAction.Standing); OutBound.Turn(); return; } } else if (Main.CanMove) // && Main.UserCanMove) { if (Main.AllowRun && MapLayer.CanRun(Dir)) { MapObject.User.Location = Functions.PointMove(MapObject.User.Location, Dir, 2); MapObject.User.Direction = Dir; MapObject.User.DoAction(MirAction.Running); OutBound.Run(); return; } else if (MapLayer.CanWalk(Dir)) { MapObject.User.Location = Functions.PointMove(MapObject.User.Location, Dir, 1); MapObject.User.Direction = Dir; MapObject.User.DoAction(MirAction.Walking); OutBound.Walk(); Main.AllowRun = true; return; } else { MapObject.User.Direction = Dir; MapObject.User.DoAction(MirAction.Standing); OutBound.Turn(); return; } } } break; case MouseButtons.Left: if (MapObject.User.CanDoAction && Shift) { if (Main.CanAttack) { MapObject.User.Direction = Dir; switch (Main.Rand.Next(3)) { case 2: MapObject.User.DoAction(MirAction.Attack1); OutBound.Attack(2); break; case 1: MapObject.User.DoAction(MirAction.Attack2); OutBound.Attack(1); break; default: MapObject.User.DoAction(MirAction.Attack3); OutBound.Attack(0); break; } } return; } else if (MapObject.User.CanDoAction && Alt) { MapObject.User.Direction = Dir; MapObject.User.DoAction(MirAction.Harvest); OutBound.Harvest(); } else if (TPoint == Settings.PlayerOffSet) { if (Main.Timer.ElapsedMilliseconds > Main.PickUpTime) { Main.PickUpTime = Main.Timer.ElapsedMilliseconds + 200; for (int I = 0; I < ItemObject.ItemList.Count; I++) { if (ItemObject.ItemList[I].Location == MapObject.User.Location) { OutBound.PickUp(); return; } } } } else if (MapObject.User.CanDoAction && Main.CanMove) // && Main.UserCanMove) { if (MapLayer.CanWalk(Dir)) { MapObject.User.Location = Functions.PointMove(MapObject.User.Location, Dir, 1); MapObject.User.Direction = Dir; MapObject.User.DoAction(MirAction.Walking); OutBound.Walk(); return; } else { MapObject.User.Direction = Dir; MapObject.User.DoAction(MirAction.Standing); OutBound.Turn(); return; } } break; } } if (MapObject.User.CanDoAction && MapObject.TargetObject != null && !MapObject.TargetObject.Dead) { if (MapObject.TargetObject as PlayerObject != null) { if (Shift && !Functions.InRange(MapObject.TargetObject.Location, MapObject.User.Location, 1) && Main.CanMove) { Dir = Functions.DirectionFromPoint(MapObject.User.Location, MapObject.TargetObject.Location); if (MapLayer.CanWalk(Dir)) { MapObject.User.Location = Functions.PointMove(MapObject.User.Location, Dir, 1); MapObject.User.Direction = Dir; MapObject.User.DoAction(MirAction.Walking); OutBound.Walk(); return; } } } else if (MapObject.TargetObject as MonsterObject != null) { if (!Functions.InRange(MapObject.TargetObject.Location, MapObject.User.Location, 1) && Main.CanMove) { Dir = Functions.DirectionFromPoint(MapObject.User.Location, MapObject.TargetObject.Location); if (MapLayer.CanWalk(Dir)) { MapObject.User.Location = Functions.PointMove(MapObject.User.Location, Dir, 1); MapObject.User.Direction = Dir; MapObject.User.DoAction(MirAction.Walking); OutBound.Walk(); return; } } } } }
static void Scene_MouseDown(object sender, EventArgs e) { MouseEventArgs ME = e as MouseEventArgs; if (ME == null) { return; } if (ME.Button == MouseButtons.Left) { if (MirItemCell.SelectedCell != null) { if (MirItemCell.SelectedCell.GridType == MirGridType.Equipment || MirItemCell.SelectedCell.GridType == MirGridType.Trade) { MirItemCell.SelectedCell = null; return; } MirMessageBox MMBox = new MirMessageBox( string.Format("Are you sure you want to drop {0}?", MirItemCell.SelectedCell.Item.Info.ItemName), MessageBoxButtons.YesNo); MirItemCell Cell = MirItemCell.SelectedCell; MMBox.YesButton.Click += (O, A) => { OutBound.DropItem(Cell.GridType, Cell.Item.UniqueID); Cell.Item = null; MapObject.User.CalculateWeight(); }; MMBox.Show(); MirItemCell.SelectedCell = null; return; } else if (MirItemCell.PickedUpGold) { MirInputBox MIBox = new MirInputBox("How much do you want to drop?"); MIBox.OKButton.Click += (O, A) => { int Amount; if (int.TryParse(MIBox.InputTextBox.Text, out Amount) && Amount > 0 && Amount <= MapObject.User.Gold) { OutBound.DropGold(Amount); MapObject.User.Gold -= Amount; } MIBox.Dispose(); }; MIBox.Show(); MirItemCell.PickedUpGold = false; return; } } MouseB |= ME.Button; if (ME.Button == MouseButtons.Left) { if (MapObject.MouseObject != MapObject.User && MapObject.MouseObject != null && !MapObject.MouseObject.Dead) { MapObject.TargetObject = MapObject.MouseObject; } else { MapObject.TargetObject = null; } } }
static void Scene_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.Up: ChatPanel.StartIndex--; ChatPanel.UpdateChatList(); break; case Keys.Down: ChatPanel.StartIndex++; ChatPanel.UpdateChatList(); break; case Keys.V: MiniMap.Toggle(); break; case Keys.F9: case Keys.I: if (InventoryDialog.Window.Visible) { InventoryDialog.Hide(); } else { InventoryDialog.Show(); } break; case Keys.F10: case Keys.C: if (CharacterDialog.Window.Visible && CharacterDialog.CharacterPage.Visible) { CharacterDialog.Hide(); } else { CharacterDialog.Show(); CharacterDialog.CharacterButton_Click(null, EventArgs.Empty); } break; case Keys.F11: case Keys.S: if (CharacterDialog.Window.Visible && CharacterDialog.SkillPage.Visible) { CharacterDialog.Hide(); } else { CharacterDialog.Show(); CharacterDialog.SkillButton_Click(null, EventArgs.Empty); } break; case Keys.Escape: InventoryDialog.Hide(); CharacterDialog.Hide(); break; case Keys.Tab: if (Main.Timer.ElapsedMilliseconds > Main.PickUpTime) { Main.PickUpTime = Main.Timer.ElapsedMilliseconds + 200; for (int I = 0; I < ItemObject.ItemList.Count; I++) { if (ItemObject.ItemList[I].Location == MapObject.User.Location) { OutBound.PickUp(); return; } } } break; case Keys.X: if (!Alt) { break; } LogOut(); break; case Keys.Q: if (!Alt) { break; } QuitGame(); break; case Keys.Z: if (Ctrl) { BeltPanel.Flip(); } else { if (BeltPanel.Window.Visible) { BeltPanel.Hide(); } else { BeltPanel.Show(); } } break; case Keys.NumPad1: case Keys.D1: if (Main.Time > Main.UseItemTime) { BeltPanel.Grid[0].UseItem(); } break; case Keys.NumPad2: case Keys.D2: if (Main.Time > Main.UseItemTime) { BeltPanel.Grid[1].UseItem(); } break; case Keys.NumPad3: case Keys.D3: if (Main.Time > Main.UseItemTime) { BeltPanel.Grid[2].UseItem(); } break; case Keys.NumPad4: case Keys.D4: if (Main.Time > Main.UseItemTime) { BeltPanel.Grid[3].UseItem(); } break; case Keys.NumPad5: case Keys.D5: if (Main.Time > Main.UseItemTime) { BeltPanel.Grid[4].UseItem(); } break; case Keys.NumPad6: case Keys.D6: if (Main.Time > Main.UseItemTime) { BeltPanel.Grid[5].UseItem(); } break; } }