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 TradeDialog() { Index = 389; Library = Libraries.Prguse; Movable = true; Size = new Size(204, 152); Location = new Point((Settings.ScreenWidth / 2) - Size.Width - 10, Settings.ScreenHeight - 350); Sort = true; #region Buttons ConfirmButton = new MirButton { Index = 520, HoverIndex = 521, Location = new Point(135, 120), Size = new Size(48, 25), Library = Libraries.Title, Parent = this, PressedIndex = 522, Sound = SoundList.ButtonA, }; ConfirmButton.Click += (o, e) => { ChangeLockState(!GameScene.User.TradeLocked); }; CloseButton = new MirButton { HoverIndex = 361, Index = 360, Location = new Point(Size.Width - 23, 3), Library = Libraries.Prguse2, Parent = this, PressedIndex = 362, Sound = SoundList.ButtonA, }; CloseButton.Click += (o, e) => { Hide(); GameScene.Scene.GuestTradeDialog.Hide(); TradeCancel(); }; #endregion #region Host labels NameLabel = new MirLabel { Parent = this, Location = new Point(20, 10), Size = new Size(150, 14), DrawFormat = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter, NotControl = true, }; GoldLabel = new MirLabel { DrawFormat = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter, Font = new Font(Settings.FontName, 8F), Location = new Point(35, 123), Parent = this, Size = new Size(90, 15), Sound = SoundList.Gold, }; GoldLabel.Click += (o, e) => { if (GameScene.SelectedCell == null && GameScene.Gold > 0) { MirAmountBox amountBox = new MirAmountBox("Trade Amount:", 116, GameScene.Gold); amountBox.OKButton.Click += (c, a) => { if (amountBox.Amount > 0) { GameScene.User.TradeGoldAmount += amountBox.Amount; Network.Enqueue(new C.TradeGold { Amount = amountBox.Amount }); RefreshInterface(); } }; amountBox.Show(); GameScene.PickedUpGold = false; } }; #endregion #region Grids Grid = new MirItemCell[5 * 2]; for (int x = 0; x < 5; x++) { for (int y = 0; y < 2; y++) { Grid[2 * x + y] = new MirItemCell { ItemSlot = 2 * x + y, GridType = MirGridType.Trade, Parent = this, Location = new Point(x * 36 + 10 + x, y * 32 + 39 + y), }; } } #endregion }
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 StorageRemoveGold() { if (LastGuildMsg > CMain.Time) return; MirAmountBox amountBox = new MirAmountBox("Gold to retrieve:", 116, Gold); amountBox.OKButton.Click += (o, a) => { if (amountBox.Amount <= 0) return; LastGuildMsg = CMain.Time + 100; Network.Enqueue(new C.GuildStorageGoldChange { Type = 1, Amount = amountBox.Amount, }); }; amountBox.Show(); }
public void StorageAddGold() { if (LastGuildMsg > CMain.Time) return; MirAmountBox amountBox = new MirAmountBox("Deposit", 116, GameScene.Gold); amountBox.OKButton.Click += (o, a) => { if (amountBox.Amount <= 0) return; LastGuildMsg = CMain.Time + 100; Network.Enqueue(new C.GuildStorageGoldChange { Type = 0, Amount = amountBox.Amount, }); }; amountBox.Show(); }
private void Confirm() { if (TargetItem == null) return; switch (PType) { case PanelType.Sell: if (TargetItem.Info.Bind.HasFlag(BindMode.DontSell)) { GameScene.Scene.ChatDialog.ReceiveChat("Cannot sell this item.", ChatType.System); return; } if (GameScene.Gold + TargetItem.Price() / 2 <= uint.MaxValue) { Network.Enqueue(new C.SellItem { UniqueID = TargetItem.UniqueID, Count = TargetItem.Count }); TargetItem = null; return; } GameScene.Scene.ChatDialog.ReceiveChat("Cannot carry anymore gold.", ChatType.System); break; case PanelType.Repair: if (TargetItem.Info.Bind.HasFlag(BindMode.DontRepair)) { GameScene.Scene.ChatDialog.ReceiveChat("Cannot repair this item.", ChatType.System); return; } if (GameScene.Gold >= TargetItem.RepairPrice() * GameScene.NPCRate) { Network.Enqueue(new C.RepairItem { UniqueID = TargetItem.UniqueID }); TargetItem = null; return; } GameScene.Scene.ChatDialog.ReceiveChat("You do not have enough gold.", ChatType.System); break; case PanelType.SpecialRepair: if ((TargetItem.Info.Bind.HasFlag(BindMode.DontRepair)) || (TargetItem.Info.Bind.HasFlag(BindMode.NoSRepair))) { GameScene.Scene.ChatDialog.ReceiveChat("Cannot repair this item.", ChatType.System); return; } if (GameScene.Gold >= (TargetItem.RepairPrice() * 3) * GameScene.NPCRate) { Network.Enqueue(new C.SRepairItem { UniqueID = TargetItem.UniqueID }); TargetItem = null; return; } GameScene.Scene.ChatDialog.ReceiveChat("You do not have enough gold.", ChatType.System); break; case PanelType.Consign: if (TargetItem.Info.Bind.HasFlag(BindMode.DontStore)) { GameScene.Scene.ChatDialog.ReceiveChat("Cannot store this item.", ChatType.System); return; } MirAmountBox box = new MirAmountBox("Consignment Price:", TargetItem.Image, Globals.MaxConsignment, Globals.MinConsignment) { InputTextBox = { Text = string.Empty }, Amount = 0 }; box.Show(); box.OKButton.Click += (o, e) => { Network.Enqueue(new C.ConsignItem { UniqueID = TargetItem.UniqueID, Price = box.Amount }); TargetItem = null; }; return; case PanelType.Disassemble: Network.Enqueue(new C.DisassembleItem { UniqueID = TargetItem.UniqueID }); break; case PanelType.Downgrade: Network.Enqueue(new C.DowngradeAwakening { UniqueID = TargetItem.UniqueID }); break; case PanelType.Reset: if (TargetItem.Info.NeedIdentify == false) { Network.Enqueue(new C.ResetAddedItem { UniqueID = TargetItem.UniqueID }); } break; case PanelType.Refine: for (int i = 0; i < GameScene.Scene.RefineDialog.Grid.Length; i++) { if (GameScene.Scene.RefineDialog.Grid[i].Item != null) { if (GameScene.Gold >= ((TargetItem.Info.RequiredAmount * 10) * GameScene.NPCRate)) { Network.Enqueue(new C.RefineItem { UniqueID = TargetItem.UniqueID }); TargetItem = null; return; } GameScene.Scene.ChatDialog.ReceiveChat(String.Format("You don't have enough gold to refine your {0}.", TargetItem.FriendlyName), ChatType.System); return; } } GameScene.Scene.ChatDialog.ReceiveChat(String.Format("You haven't deposited any items to refine your {0} with.", TargetItem.FriendlyName), ChatType.System); break; case PanelType.CheckRefine: if (TargetItem.RefineAdded == 0) { GameScene.Scene.ChatDialog.ReceiveChat(String.Format("Your {0} hasn't been refined so it doesn't need checking.", TargetItem.FriendlyName), ChatType.System); return; } Network.Enqueue(new C.CheckRefine { UniqueID = TargetItem.UniqueID }); break; case PanelType.ReplaceWedRing: if (TargetItem.Info.Type != ItemType.Ring) { GameScene.Scene.ChatDialog.ReceiveChat(String.Format("{0} isn't a ring.", TargetItem.FriendlyName), ChatType.System); return; } Network.Enqueue(new C.ReplaceWedRing { UniqueID = TargetItem.UniqueID }); break; } TargetItem = null; OldCell.Locked = false; OldCell = null; }
private void BuyItem() { if (SelectedItem == null) return; if (SelectedItem.StackSize > 1) { UserItem temp = new UserItem(SelectedItem) { Count = SelectedItem.StackSize }; if (temp.Price() > GameScene.Gold) { temp.Count = GameScene.Gold / SelectedItem.Price; if (temp.Count == 0) { GameScene.Scene.ChatDialog.ReceiveChat("You do no have enough Gold.", ChatType.System); return; } } MapObject.User.GetMaxGain(temp); if (temp.Count == 0) return; MirAmountBox amountBox = new MirAmountBox("Purchase Amount:", SelectedItem.Image, temp.Count); amountBox.OKButton.Click += (o, e) => { if (amountBox.Amount > 0) { Network.Enqueue(new C.BuyItem { ItemIndex = SelectedItem.Index, Count = amountBox.Amount }); } }; amountBox.Show(); } else { if (SelectedItem.Price > GameScene.Gold) { GameScene.Scene.ChatDialog.ReceiveChat("You do not have enough gold.", ChatType.System); return; } if (SelectedItem.Weight > (MapObject.User.MaxBagWeight - MapObject.User.CurrentBagWeight)) { GameScene.Scene.ChatDialog.ReceiveChat("You do no have enough weight.", ChatType.System); return; } for (int i = 0; i < MapObject.User.Inventory.Length; i++) { if (MapObject.User.Inventory[i] == null) break; if (i == MapObject.User.Inventory.Length - 1) { GameScene.Scene.ChatDialog.ReceiveChat("Cannot purchase any more items.", ChatType.System); return; } } Network.Enqueue(new C.BuyItem { ItemIndex = SelectedItem.Index, Count = 1 }); } }
private void ItemCell_Click() { if (OldCell != null) { OldCell.Locked = false; TargetItem = null; OldCell = null; } if (GameScene.SelectedCell != null && PType == PanelType.Disassemble) { if (GameScene.SelectedCell.Item.Info.Grade != ItemGrade.None && GameScene.SelectedCell.Item.Info.Type != ItemType.Awakening) { TargetItem = GameScene.SelectedCell.Item; OldCell = GameScene.SelectedCell; OldCell.Locked = true; GameScene.SelectedCell = null; return; } } if (GameScene.SelectedCell != null && PType == PanelType.Downgrade) { if (GameScene.SelectedCell.Item.Awake.getAwakeLevel() != 0) { TargetItem = GameScene.SelectedCell.Item; OldCell = GameScene.SelectedCell; OldCell.Locked = true; GameScene.SelectedCell = null; return; } } if (GameScene.SelectedCell != null && PType == PanelType.Reset) { if (GameScene.SelectedCell.Item.IsAdded) { TargetItem = GameScene.SelectedCell.Item; OldCell = GameScene.SelectedCell; OldCell.Locked = true; GameScene.SelectedCell = null; return; } } if (PType == PanelType.Disassemble || PType == PanelType.Downgrade || PType == PanelType.Reset) { GameScene.SelectedCell.Locked = false; GameScene.SelectedCell = null; return; } ////////////////////////////////////// if (GameScene.SelectedCell == null || GameScene.SelectedCell.GridType != MirGridType.Inventory || (PType != PanelType.Sell && PType != PanelType.Consign && GameScene.SelectedCell.Item != null && GameScene.SelectedCell.Item.Info.Durability == 0)) return; if (GameScene.SelectedCell.Item != null && (GameScene.SelectedCell.Item.Info.StackSize > 1 && GameScene.SelectedCell.Item.Count > 1)) { MirAmountBox amountBox = new MirAmountBox("Sell Amount:", GameScene.SelectedCell.Item.GetRealItemImage(), GameScene.SelectedCell.Item.Count); amountBox.OKButton.Click += (o, a) => { TargetItem = GameScene.SelectedCell.Item.Clone(); TargetItem.Count = amountBox.Amount; OldCell = GameScene.SelectedCell; OldCell.Locked = true; GameScene.SelectedCell = null; if (Hold) Confirm(); }; amountBox.Show(); } else { TargetItem = GameScene.SelectedCell.Item; OldCell = GameScene.SelectedCell; OldCell.Locked = true; GameScene.SelectedCell = null; if (Hold) Confirm(); } }
private void Confirm() { if (TargetItem == null) return; switch (PType) { case PanelType.Sell: if (TargetItem.Info.Bind.HasFlag(BindMode.DontSell)) { GameScene.Scene.ChatDialog.ReceiveChat("Cannot sell this item.", ChatType.System); return; } if (GameScene.Gold + TargetItem.Price() / 2 <= uint.MaxValue) { Network.Enqueue(new C.SellItem { UniqueID = TargetItem.UniqueID, Count = TargetItem.Count }); TargetItem = null; return; } GameScene.Scene.ChatDialog.ReceiveChat("Cannot carry anymore gold.", ChatType.System); break; case PanelType.Repair: if (TargetItem.Info.Bind.HasFlag(BindMode.DontRepair)) { GameScene.Scene.ChatDialog.ReceiveChat("Cannot repair this item.", ChatType.System); return; } if (GameScene.Gold >= TargetItem.RepairPrice() * GameScene.NPCRate) { Network.Enqueue(new C.RepairItem { UniqueID = TargetItem.UniqueID }); TargetItem = null; return; } GameScene.Scene.ChatDialog.ReceiveChat("You do not have enough gold.", ChatType.System); break; case PanelType.SpecialRepair: if (TargetItem.Info.Bind.HasFlag(BindMode.DontRepair)) { GameScene.Scene.ChatDialog.ReceiveChat("Cannot repair this item.", ChatType.System); return; } if (GameScene.Gold >= (TargetItem.RepairPrice() * 3) * GameScene.NPCRate) { Network.Enqueue(new C.SRepairItem { UniqueID = TargetItem.UniqueID }); TargetItem = null; return; } GameScene.Scene.ChatDialog.ReceiveChat("You do not have enough gold.", ChatType.System); break; case PanelType.Consign: if (TargetItem.Info.Bind.HasFlag(BindMode.DontStore)) { GameScene.Scene.ChatDialog.ReceiveChat("Cannot store this item.", ChatType.System); return; } MirAmountBox box = new MirAmountBox("Consignment Price:", TargetItem.GetRealItemImage(), Globals.MaxConsignment, Globals.MinConsignment) { InputTextBox = { Text = string.Empty }, Amount = 0 }; box.Show(); box.OKButton.Click += (o, e) => { Network.Enqueue(new C.ConsignItem { UniqueID = TargetItem.UniqueID, Price = box.Amount }); TargetItem = null; }; return; case PanelType.Disassemble: Network.Enqueue(new C.DisassembleItem { UniqueID = TargetItem.UniqueID }); break; case PanelType.Downgrade: Network.Enqueue(new C.DowngradeAwakening { UniqueID = TargetItem.UniqueID }); break; case PanelType.Reset: if (TargetItem.Info.NeedIdentify == false) { Network.Enqueue(new C.ResetAddedItem { UniqueID = TargetItem.UniqueID }); } break; } TargetItem = null; OldCell.Locked = false; OldCell = null; }
private void ItemCell_Click() { if (OldCell != null) { OldCell.Locked = false; TargetItem = null; OldCell = null; } if (GameScene.SelectedCell == null || GameScene.SelectedCell.GridType != MirGridType.Inventory || (PType != PanelType.Sell && PType != PanelType.Consign && GameScene.SelectedCell.Item != null && GameScene.SelectedCell.Item.Info.Durability == 0)) return; if (GameScene.SelectedCell.Item != null && (GameScene.SelectedCell.Item.Info.StackSize > 1 && GameScene.SelectedCell.Item.Count > 1)) { MirAmountBox amountBox = new MirAmountBox("Sell Amount:", GameScene.SelectedCell.Item.Info.Image, GameScene.SelectedCell.Item.Count); amountBox.OKButton.Click += (o, a) => { TargetItem = GameScene.SelectedCell.Item.Clone(); TargetItem.Count = amountBox.Amount; OldCell = GameScene.SelectedCell; OldCell.Locked = true; GameScene.SelectedCell = null; if (Hold) Confirm(); }; amountBox.Show(); } else { TargetItem = GameScene.SelectedCell.Item; OldCell = GameScene.SelectedCell; OldCell.Locked = true; GameScene.SelectedCell = null; if (Hold) Confirm(); } }
private void Confirm() { switch (PType) { case PanelType.Sell: if (GameScene.Gold + TargetItem.Price() / 2 <= uint.MaxValue) { Network.Enqueue(new C.SellItem { UniqueID = TargetItem.UniqueID, Count = TargetItem.Count }); TargetItem = null; return; } GameScene.Scene.ChatDialog.ReceiveChat("Cannot carry anymore gold.", ChatType.System); break; case PanelType.Repair: if (GameScene.Gold >= TargetItem.RepairPrice()*GameScene.NPCRate) { Network.Enqueue(new C.RepairItem { UniqueID = TargetItem.UniqueID }); TargetItem = null; return; } GameScene.Scene.ChatDialog.ReceiveChat("You do not have enough gold.", ChatType.System); break; case PanelType.SpecialRepair: if (GameScene.Gold >= (TargetItem.RepairPrice() * 3) * GameScene.NPCRate) { Network.Enqueue(new C.SRepairItem { UniqueID = TargetItem.UniqueID }); TargetItem = null; return; } GameScene.Scene.ChatDialog.ReceiveChat("You do not have enough gold.", ChatType.System); break; case PanelType.Consign: MirAmountBox box = new MirAmountBox("Consignment Price:", TargetItem.Info.Image, Globals.MaxConsignment, Globals.MinConsignment) { InputTextBox = {Text = string.Empty}, Amount = 0 }; box.Show(); box.OKButton.Click += (o, e) => { Network.Enqueue(new C.ConsignItem {UniqueID = TargetItem.UniqueID, Price = box.Amount}); TargetItem = null; }; return; } TargetItem = null; OldCell.Locked = false; OldCell = null; }
private void BuyItem() { if (Item == null || Item.Price() * GameScene.NPCRate > GameScene.Gold) return; MirAmountBox amountBox; if (Item.Count > 1) { amountBox = new MirAmountBox("Purchase Amount:", Item.Image, Item.Count); amountBox.OKButton.Click += (o, e) => { Network.Enqueue(new C.BuyItemBack { UniqueID = Item.UniqueID, Count = amountBox.Amount }); Locked = true; }; } else { amountBox = new MirAmountBox("Purchase", Item.Image, string.Format("Value: {0:#,##0} Gold", Item.Price())); amountBox.OKButton.Click += (o, e) => { Network.Enqueue(new C.BuyItemBack { UniqueID = Item.UniqueID, Count = 1 }); Locked = true; }; } amountBox.Show(); }
public override void OnMouseClick(MouseEventArgs e) { if (Locked) return; if (GameScene.PickedUpGold || GridType == MirGridType.Inspect || GridType == MirGridType.TrustMerchant || GridType == MirGridType.QuestInventory) return; if(GameScene.SelectedCell == null && (GridType == MirGridType.Mail)) return; base.OnMouseClick(e); Redraw(); switch (e.Button) { case MouseButtons.Right: UseItem(); break; case MouseButtons.Left: if (Item != null && GameScene.SelectedCell == null) PlayItemSound(); if (CMain.Shift) { if (GridType == MirGridType.Inventory || GridType == MirGridType.Storage) { if (GameScene.SelectedCell == null && Item != null) { if (FreeSpace() == 0) { GameScene.Scene.ChatDialog.ReceiveChat("No room to split stack.", ChatType.System); return; } if (Item.Count > 1) { MirAmountBox amountBox = new MirAmountBox("Split Amount:", Item.Image, Item.Count - 1); amountBox.OKButton.Click += (o, a) => { if (amountBox.Amount == 0 || amountBox.Amount >= Item.Count) return; Network.Enqueue(new C.SplitItem { Grid = GridType, UniqueID = Item.UniqueID, Count = amountBox.Amount }); Locked = true; }; amountBox.Show(); } } } } else MoveItem(); break; } }
private void BuyItem() { if (SelectedItem == null) return; if (SelectedItem.Info.StackSize > 1) { uint tempCount = SelectedItem.Count; uint maxQuantity = SelectedItem.Info.StackSize; SelectedItem.Count = maxQuantity; if (usePearls)//pearl currency { if (SelectedItem.Price() > GameScene.User.PearlCount) { maxQuantity = GameScene.Gold / (SelectedItem.Price() / SelectedItem.Count); if (maxQuantity == 0) { GameScene.Scene.ChatDialog.ReceiveChat("You do not have enough Pearls.", ChatType.System); return; } } } else if (SelectedItem.Price() > GameScene.Gold) { maxQuantity = GameScene.Gold / (SelectedItem.Price() / SelectedItem.Count); if (maxQuantity == 0) { GameScene.Scene.ChatDialog.ReceiveChat("You do no have enough Gold.", ChatType.System); return; } } MapObject.User.GetMaxGain(SelectedItem); if (SelectedItem.Count > tempCount) { SelectedItem.Count = tempCount; } if (SelectedItem.Count == 0) return; MirAmountBox amountBox = new MirAmountBox("Purchase Amount:", SelectedItem.Image, maxQuantity, 0, SelectedItem.Count); amountBox.OKButton.Click += (o, e) => { if (amountBox.Amount > 0) { Network.Enqueue(new C.BuyItem { ItemIndex = SelectedItem.UniqueID, Count = amountBox.Amount }); } }; amountBox.Show(); } else { if (SelectedItem.Info.Price > GameScene.Gold) { GameScene.Scene.ChatDialog.ReceiveChat("You do not have enough gold.", ChatType.System); return; } if (SelectedItem.Weight > (MapObject.User.MaxBagWeight - MapObject.User.CurrentBagWeight)) { GameScene.Scene.ChatDialog.ReceiveChat("You do not have enough weight.", ChatType.System); return; } for (int i = 0; i < MapObject.User.Inventory.Length; i++) { if (MapObject.User.Inventory[i] == null) break; if (i == MapObject.User.Inventory.Length - 1) { GameScene.Scene.ChatDialog.ReceiveChat("You cannot purchase any more items.", ChatType.System); return; } } Network.Enqueue(new C.BuyItem { ItemIndex = SelectedItem.UniqueID, Count = 1 }); } }
public MailComposeParcelDialog() { Index = 674; Library = Libraries.Title; Size = new Size(236, 384); Movable = true; Sort = true; Location = new Point(GameScene.Scene.InventoryDialog.Size.Width + 10, 0); 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) => { ResetLockedCells(); Hide(); }; RecipientNameLabel = new MirLabel { Text = "", Parent = this, Font = new Font(Settings.FontName, 8F), ForeColour = Color.White, Location = new Point(70, 35), Size = new Size(150, 15), NotControl = true, }; MessageTextBox = new MirTextBox { ForeColour = Color.White, Parent = this, Font = new Font(Settings.FontName, 8F), Location = new Point(15, 98), Size = new Size(202, 165), }; MessageTextBox.MultiLine(); StampButton = new MirButton { Index = 203, HoverIndex = 203, PressedIndex = 203, Location = new Point(73, 56), Size = new Size(20,20), Library = Libraries.Prguse2, Parent = this, Sound = SoundList.ButtonA, }; StampButton.Click += (o, e) => { StampParcel(); }; ItemCover = new MirImageControl { Index = 676, Location = new Point(63, 310), Size = new Size(144, 33), Library = Libraries.Title, Parent = this }; for (int i = 0; i < Cells.Length; i++) { Cells[i] = new MirItemCell { BorderColour = Color.Lime, Size = new Size(35, 31), GridType = MirGridType.Mail, Library = Libraries.Items, Parent = this, Location = new Point(27 + (i * 36), 311), ItemSlot = i }; } ParcelCostLabel = new MirLabel { DrawFormat = TextFormatFlags.VerticalCenter, Font = new Font(Settings.FontName, 8F), Location = new Point(63, 269), Parent = this, Size = new Size(143, 15), }; GoldSendLabel = new MirLabel { DrawFormat = TextFormatFlags.VerticalCenter, Font = new Font(Settings.FontName, 8F), Location = new Point(63, 290), Parent = this, Size = new Size(143, 15), Sound = SoundList.Gold, }; GoldSendLabel.Click += (o, e) => { if (GameScene.SelectedCell == null && GameScene.Gold > 0) { MirAmountBox amountBox = new MirAmountBox("Send Amount:", 116, GameScene.Gold); amountBox.OKButton.Click += (c, a) => { if (amountBox.Amount > 0) { GiftGoldAmount += amountBox.Amount; GameScene.Gold -= amountBox.Amount; } GoldSendLabel.Text = GiftGoldAmount.ToString("###,###,##0"); CalculatePostage(); }; amountBox.Show(); GameScene.PickedUpGold = false; } }; SendButton = new MirButton { Index = 607, HoverIndex = 608, PressedIndex = 609, Parent = this, Library = Libraries.Title, Sound = SoundList.ButtonA, Location = new Point(30, 350) }; SendButton.Click += (o, e) => { Network.Enqueue(new C.SendMail { Name = RecipientNameLabel.Text, Message = MessageTextBox.Text, Gold = GiftGoldAmount, ItemsIdx = ItemsIdx, Stamped = Stamped }); }; CancelButton = new MirButton { Index = 193, HoverIndex = 194, PressedIndex = 195, Parent = this, Library = Libraries.Title, Sound = SoundList.ButtonA, Location = new Point(135, 350) }; CancelButton.Click += (o, e) => { ResetLockedCells(); Hide(); }; }