void inv_Click(object sender, EventArgs e) { InventoryItemControl inv = (InventoryItemControl)sender; inv.Selected = !inv.Selected; inv.Render(); inv.Refresh(); cmbType.SelectedItem = Blocks.Get(inv.MyType); numCount.Value = inv.Count; numDamage.Value = inv.Damage; }
private void ReadFromMap() { if (_Map == null) return; cmbType.Items.Clear(); cmbType.ValueMember = "ID"; cmbType.DisplayMember = "Name"; foreach(KeyValuePair<short,Block> k in Blocks.BlockList) { cmbType.Items.Add(k.Value); } this.splitInv.SplitterDistance= (Columns * 32) + 47; Console.WriteLine("Inventory set to ({0},{1}).",Width,Height); Stuff.Clear(); for (int i = 0; i < Map.InventoryCapacity; i++) { short id; short dmg; byte count; string failreason; if (_Map.GetInventory(i, out id, out dmg, out count, out failreason)) { InventoryItemControl inv = new InventoryItemControl(id, dmg, count); inv.Render(); inv.Click += new EventHandler(inv_Click); this.splitInv.Panel1.Controls.Add(inv); Console.WriteLine("[Inventory] Adding #{0} - {1} {2} @ {3} damage", i, inv.Count, inv.Name, inv.Damage); Stuff.Add(i, inv); } else { InventoryItemControl inv = new InventoryItemControl(0, 0, 1); inv.Render(); inv.Click += new EventHandler(inv_Click); this.splitInv.Panel1.Controls.Add(inv); Stuff.Add(i, inv); Console.WriteLine("[Inventory] Failed to add #{0} - {1}", i, failreason); } } int invc =ArmorOffset= Stuff.Count; for (int i = 0; i < 4; i++) { short id; short dmg; byte count; string failreason; ArmorType at = (Enum.GetValues(typeof(ArmorType)) as ArmorType[])[i]; if (_Map.GetArmor(at, out id, out dmg, out count, out failreason)) { InventoryItemControl inv = new InventoryItemControl(id, dmg, count); inv.Render(); inv.Click += new EventHandler(inv_Click); inv.MouseDown += new MouseEventHandler(inv_MouseDown); inv.MouseUp += new MouseEventHandler(inv_MouseUp); inv.MouseLeave += new EventHandler(inv_MouseLeave); this.splitInv.Panel1.Controls.Add(inv); Console.WriteLine("[Inventory] Adding #{0} - {1} {2} @ {3} damage", i, inv.Count, inv.Name, inv.Damage); Stuff.Add(invc+i, inv); } else { InventoryItemControl inv = new InventoryItemControl(0, 0, 1); inv.Render(); inv.Click += new EventHandler(inv_Click); inv.MouseDown += new MouseEventHandler(inv_MouseDown); inv.MouseUp += new MouseEventHandler(inv_MouseUp); inv.MouseLeave += new EventHandler(inv_MouseLeave); this.splitInv.Panel1.Controls.Add(inv); Stuff.Add(invc+i, inv); Console.WriteLine("[Inventory] Failed to add #{0} - {1}", i, failreason); } } DoLayout(); Refresh(); }
private void ReadFromMap() { if (this.InvokeRequired) { MethodInvoker del = delegate { ReadFromMap(); }; Invoke(del); return; } if (_Map == null) { return; } cmbType.Items.Clear(); cmbType.ValueMember = "ID"; cmbType.DisplayMember = "Name"; foreach (KeyValuePair <short, Block> k in Blocks.BlockList) { cmbType.Items.Add(k.Value); } this.splitInv.SplitterDistance = (Columns * 32) + 47; Console.WriteLine("Inventory set to ({0},{1}).", Width, Height); Stuff.Clear(); for (int i = 0; i < Map.InventoryCapacity; i++) { short id; short dmg; byte count; string failreason; if (_Map.GetInventory(i, out id, out dmg, out count, out failreason)) { InventoryItemControl inv = new InventoryItemControl(id, dmg, count); inv.Render(); inv.Click += new EventHandler(inv_Click); inv.ContextMenuStrip = cmnuItem; this.splitInv.Panel1.Controls.Add(inv); //Console.WriteLine("[Inventory] Adding #{0} - {1} {2} @ {3} damage", i, inv.Count, inv.Name, inv.Damage); Stuff.Add(i, inv); } else { InventoryItemControl inv = new InventoryItemControl(0, 0, 1); inv.Render(); inv.Click += new EventHandler(inv_Click); inv.ContextMenuStrip = cmnuItem; this.splitInv.Panel1.Controls.Add(inv); Stuff.Add(i, inv); //Console.WriteLine("[Inventory] Failed to add #{0} - {1}", i, failreason); } } int invc = ArmorOffset = Stuff.Count; for (int i = 0; i < 4; i++) { short id; short dmg; byte count; string failreason; ArmorType at = (Enum.GetValues(typeof(ArmorType)) as ArmorType[])[i]; if (_Map.GetArmor(at, out id, out dmg, out count, out failreason)) { InventoryItemControl inv = new InventoryItemControl(id, dmg, count); inv.Render(); inv.Click += new EventHandler(inv_Click); inv.ContextMenuStrip = cmnuItem; this.splitInv.Panel1.Controls.Add(inv); //Console.WriteLine("[Inventory] Adding #{0} - {1} {2} @ {3} damage", i, inv.Count, inv.Name, inv.Damage); Stuff.Add(invc + i, inv); } else { InventoryItemControl inv = new InventoryItemControl(0, 0, 1); inv.Render(); inv.Click += new EventHandler(inv_Click); inv.ContextMenuStrip = cmnuItem; this.splitInv.Panel1.Controls.Add(inv); Stuff.Add(invc + i, inv); //Console.WriteLine("[Inventory] Failed to add #{0} - {1}", i, failreason); } } DoLayout(); Invalidate(); }