void pnl_HoverEnter(Base sender, EventArgs arguments) { if (MyItem == null) { return; } if (InputHandler.MouseFocus != null) { return; } if (Globals.InputManager.MouseButtonDown(GameInput.MouseButtons.Left)) { return; } if (mDescWindow != null) { mDescWindow.Dispose(); mDescWindow = null; } mDescWindow = new ItemDescWindow( ItemBase.Get(MyItem.ItemId), MyItem.Quantity, mMapItemWindow.X, mMapItemWindow.Y, MyItem.StatBuffs ); }
void pnl_HoverEnter(Base sender, EventArgs arguments) { if (InputHandler.MouseFocus != null) { return; } mMouseOver = true; mCanDrag = true; if (Globals.InputManager.MouseButtonDown(GameInput.MouseButtons.Left)) { mCanDrag = false; return; } if (mDescWindow != null) { mDescWindow.Dispose(); mDescWindow = null; } if (Globals.Bank[mMySlot]?.Base != null) { mDescWindow = new ItemDescWindow( Globals.Bank[mMySlot].Base, Globals.Bank[mMySlot].Quantity, mBankWindow.X, mBankWindow.Y, Globals.Bank[mMySlot].StatBuffs ); } }
void pnl_HoverEnter(Base sender, EventArgs arguments) { if (InputHandler.MouseFocus != null) { return; } if (Globals.InputManager.MouseButtonDown(GameInput.MouseButtons.Left)) { return; } if (mDescWindow != null) { mDescWindow.Dispose(); mDescWindow = null; } var item = ItemBase.Get(Globals.GameShop.SellingItems[mMySlot].CostItemId); if (item != null && Globals.GameShop.SellingItems[mMySlot].Item != null) { mDescWindow = new ItemDescWindow( Globals.GameShop.SellingItems[mMySlot].Item, 1, mShopWindow.X, mShopWindow.Y, item.StatsGiven, "", Strings.Shop.costs.ToString(Globals.GameShop.SellingItems[mMySlot].CostItemQuantity, item.Name) ); } }
void pnl_HoverEnter(Base sender, EventArgs arguments) { if (InputHandler.MouseFocus != null) { return; } if (Globals.InputManager.MouseButtonDown(GameInput.MouseButtons.Left)) { return; } if (mDescWindow != null) { mDescWindow.Dispose(); mDescWindow = null; } var item = ItemBase.Get(mCurrentItemId); if (item == null) { return; } mDescWindow = new ItemDescWindow(item, 1, mCharacterWindow.X, mCharacterWindow.Y, mStatBoost, item.Name); }
void pnl_HoverEnter(Base sender, EventArgs arguments) { if (InputHandler.MouseFocus != null) { return; } mMouseOver = true; mCanDrag = true; if (Globals.InputManager.MouseButtonDown(GameInput.MouseButtons.Left)) { mCanDrag = false; return; } if (DescWindow != null) { DescWindow.Dispose(); DescWindow = null; } if (mIngredient != null && ItemBase.Get(mIngredient.ItemId) != null) { DescWindow = new ItemDescWindow( ItemBase.Get(mIngredient.ItemId), mIngredient.Quantity, mCraftingWindow.X, mCraftingWindow.Y, new int[(int)Stats.StatCount] ); } }
void pnl_HoverLeave(Base sender, EventArgs arguments) { if (mDescWindow != null) { mDescWindow.Dispose(); mDescWindow = null; } }
void pnl_HoverLeave(Base sender, EventArgs arguments) { mMouseOver = false; mMouseX = -1; mMouseY = -1; if (mDescWindow != null) { mDescWindow.Dispose(); mDescWindow = null; } }
void pnl_HoverEnter(Base sender, EventArgs arguments) { if (InputHandler.MouseFocus != null) { return; } mMouseOver = true; mCanDrag = true; if (Globals.InputManager.MouseButtonDown(GameInput.MouseButtons.Left)) { mCanDrag = false; return; } if (mCurrentItem != null) { if (mItemDescWindow != null) { mItemDescWindow.Dispose(); mItemDescWindow = null; } mItemDescWindow = new ItemDescWindow( mCurrentItem, 1, mHotbarWindow.X + Pnl.X + 16, mHotbarWindow.Y + mHotbarWindow.Height + 2, mInventoryItem?.StatBuffs, mCurrentItem.Name, "", true ); } else if (mCurrentSpell != null) { if (mSpellDescWindow != null) { mSpellDescWindow.Dispose(); mSpellDescWindow = null; } mSpellDescWindow = new SpellDescWindow( mCurrentSpell.Id, mHotbarWindow.X + Pnl.X + 16, mHotbarWindow.Y + mHotbarWindow.Height + 2, true ); } }
public void Update() { if (MyItem == null) { return; } var item = ItemBase.Get(MyItem.ItemId); if (item != null) { var itemTex = Globals.ContentManager.GetTexture(GameContentManager.TextureType.Item, item.Icon); if (itemTex != null) { Pnl.RenderColor = item.Color; Pnl.Texture = itemTex; } else { if (Pnl.Texture != null) { Pnl.Texture = null; } } } else { if (Pnl.Texture != null) { Pnl.Texture = null; } } if (mDescWindow != null) { mDescWindow.Dispose(); mDescWindow = null; pnl_HoverEnter(null, null); } }
public void Update() { var equipped = false; for (var i = 0; i < Options.EquipmentSlots.Count; i++) { if (Globals.Me.MyEquipment[i] == mMySlot) { equipped = true; break; } } var item = ItemBase.Get(Globals.Me.Inventory[mMySlot].ItemId); if (Globals.Me.Inventory[mMySlot].ItemId != mCurrentItemId || Globals.Me.Inventory[mMySlot].Quantity != mCurrentAmt || equipped != mIsEquipped || item == null && mTexLoaded != "" || item != null && mTexLoaded != item.Icon || mIconCd != Globals.Me.ItemOnCd(mMySlot) || Globals.Me.ItemOnCd(mMySlot)) { mCurrentItemId = Globals.Me.Inventory[mMySlot].ItemId; mCurrentAmt = Globals.Me.Inventory[mMySlot].Quantity; mIsEquipped = equipped; EquipPanel.IsHidden = !mIsEquipped; EquipLabel.IsHidden = !mIsEquipped; mCooldownLabel.IsHidden = true; if (item != null) { var itemTex = Globals.ContentManager.GetTexture(GameContentManager.TextureType.Item, item.Icon); if (itemTex != null) { Pnl.Texture = itemTex; if (Globals.Me.ItemOnCd(mMySlot)) { Pnl.RenderColor = new Color(100, item.Color.R, item.Color.G, item.Color.B); } else { Pnl.RenderColor = item.Color; } } else { if (Pnl.Texture != null) { Pnl.Texture = null; } } mTexLoaded = item.Icon; mIconCd = Globals.Me.ItemOnCd(mMySlot); if (mIconCd) { mCooldownLabel.IsHidden = false; var secondsRemaining = (float)Globals.Me.ItemCdRemainder(mMySlot) / 1000f; if (secondsRemaining > 10f) { mCooldownLabel.Text = Strings.Inventory.cooldown.ToString(secondsRemaining.ToString("N0")); } else { mCooldownLabel.Text = Strings.Inventory.cooldown.ToString( secondsRemaining.ToString("N1").Replace(".", Strings.Numbers.dec) ); } } } else { if (Pnl.Texture != null) { Pnl.Texture = null; } mTexLoaded = ""; } if (mDescWindow != null) { mDescWindow.Dispose(); mDescWindow = null; pnl_HoverEnter(null, null); } } if (!IsDragging) { if (mMouseOver) { if (!Globals.InputManager.MouseButtonDown(GameInput.MouseButtons.Left)) { mCanDrag = true; mMouseX = -1; mMouseY = -1; if (Globals.System.GetTimeMs() < mClickTime) { Globals.Me.TryUseItem(mMySlot); mClickTime = 0; } } else { if (mCanDrag && Draggable.Active == null) { if (mMouseX == -1 || mMouseY == -1) { mMouseX = InputHandler.MousePosition.X - Pnl.LocalPosToCanvas(new Point(0, 0)).X; mMouseY = InputHandler.MousePosition.Y - Pnl.LocalPosToCanvas(new Point(0, 0)).Y; } else { var xdiff = mMouseX - (InputHandler.MousePosition.X - Pnl.LocalPosToCanvas(new Point(0, 0)).X); var ydiff = mMouseY - (InputHandler.MousePosition.Y - Pnl.LocalPosToCanvas(new Point(0, 0)).Y); if (Math.Sqrt(Math.Pow(xdiff, 2) + Math.Pow(ydiff, 2)) > 5) { IsDragging = true; mDragIcon = new Draggable( Pnl.LocalPosToCanvas(new Point(0, 0)).X + mMouseX, Pnl.LocalPosToCanvas(new Point(0, 0)).X + mMouseY, Pnl.Texture ); } } } } } } else { if (mDragIcon.Update()) { //Drug the item and now we stopped IsDragging = false; var dragRect = new FloatRect( mDragIcon.X - (Container.Padding.Left + Container.Padding.Right) / 2, mDragIcon.Y - (Container.Padding.Top + Container.Padding.Bottom) / 2, (Container.Padding.Left + Container.Padding.Right) / 2 + Pnl.Width, (Container.Padding.Top + Container.Padding.Bottom) / 2 + Pnl.Height ); float bestIntersect = 0; var bestIntersectIndex = -1; //So we picked up an item and then dropped it. Lets see where we dropped it to. //Check inventory first. if (mInventoryWindow.RenderBounds().IntersectsWith(dragRect)) { for (var i = 0; i < Options.MaxInvItems; i++) { if (mInventoryWindow.Items[i].RenderBounds().IntersectsWith(dragRect)) { if (FloatRect.Intersect(mInventoryWindow.Items[i].RenderBounds(), dragRect).Width * FloatRect.Intersect(mInventoryWindow.Items[i].RenderBounds(), dragRect).Height > bestIntersect) { bestIntersect = FloatRect.Intersect(mInventoryWindow.Items[i].RenderBounds(), dragRect).Width * FloatRect.Intersect(mInventoryWindow.Items[i].RenderBounds(), dragRect).Height; bestIntersectIndex = i; } } } if (bestIntersectIndex > -1) { if (mMySlot != bestIntersectIndex) { //Try to swap.... PacketSender.SendSwapInvItems(bestIntersectIndex, mMySlot); Globals.Me.SwapItems(bestIntersectIndex, mMySlot); } } } else if (Interface.GameUi.Hotbar.RenderBounds().IntersectsWith(dragRect)) { for (var i = 0; i < Options.MaxHotbar; i++) { if (Interface.GameUi.Hotbar.Items[i].RenderBounds().IntersectsWith(dragRect)) { if (FloatRect.Intersect( Interface.GameUi.Hotbar.Items[i].RenderBounds(), dragRect ) .Width * FloatRect.Intersect(Interface.GameUi.Hotbar.Items[i].RenderBounds(), dragRect) .Height > bestIntersect) { bestIntersect = FloatRect.Intersect(Interface.GameUi.Hotbar.Items[i].RenderBounds(), dragRect) .Width * FloatRect.Intersect(Interface.GameUi.Hotbar.Items[i].RenderBounds(), dragRect) .Height; bestIntersectIndex = i; } } } if (bestIntersectIndex > -1) { Globals.Me.AddToHotbar((byte)bestIntersectIndex, 0, mMySlot); } } else if (Globals.InBag) { var bagWindow = Interface.GameUi.GetBag(); if (bagWindow.RenderBounds().IntersectsWith(dragRect)) { for (var i = 0; i < Globals.Bag.Length; i++) { if (bagWindow.Items[i].RenderBounds().IntersectsWith(dragRect)) { if (FloatRect.Intersect(bagWindow.Items[i].RenderBounds(), dragRect).Width * FloatRect.Intersect(bagWindow.Items[i].RenderBounds(), dragRect).Height > bestIntersect) { bestIntersect = FloatRect.Intersect(bagWindow.Items[i].RenderBounds(), dragRect).Width * FloatRect.Intersect(bagWindow.Items[i].RenderBounds(), dragRect).Height; bestIntersectIndex = i; } } } if (bestIntersectIndex > -1) { Globals.Me.TryStoreBagItem(mMySlot, bestIntersectIndex); } } } mDragIcon.Dispose(); } } }
void pnl_HoverEnter(Base sender, EventArgs arguments) { if (InputHandler.MouseFocus != null) { return; } mMouseOver = true; mCanDrag = true; if (Globals.InputManager.MouseButtonDown(GameInput.MouseButtons.Left)) { mCanDrag = false; return; } if (mDescWindow != null) { mDescWindow.Dispose(); mDescWindow = null; } if (Globals.GameShop == null) { if (Globals.Me.Inventory[mMySlot]?.Base != null) { mDescWindow = new ItemDescWindow( Globals.Me.Inventory[mMySlot].Base, Globals.Me.Inventory[mMySlot].Quantity, mInventoryWindow.X, mInventoryWindow.Y, Globals.Me.Inventory[mMySlot].StatBuffs ); } } else { var invItem = Globals.Me.Inventory[mMySlot]; ShopItem shopItem = null; for (var i = 0; i < Globals.GameShop.BuyingItems.Count; i++) { var tmpShop = Globals.GameShop.BuyingItems[i]; if (invItem.ItemId == tmpShop.ItemId) { shopItem = tmpShop; break; } } if (Globals.GameShop.BuyingWhitelist && shopItem != null) { var hoveredItem = ItemBase.Get(shopItem.CostItemId); if (hoveredItem != null && Globals.Me.Inventory[mMySlot]?.Base != null) { mDescWindow = new ItemDescWindow( Globals.Me.Inventory[mMySlot].Base, Globals.Me.Inventory[mMySlot].Quantity, mInventoryWindow.X, mInventoryWindow.Y, Globals.Me.Inventory[mMySlot].StatBuffs, "", Strings.Shop.sellsfor.ToString(shopItem.CostItemQuantity, hoveredItem.Name) ); } } else if (shopItem == null) { var costItem = Globals.GameShop.DefaultCurrency; if (invItem.Base != null && costItem != null && Globals.Me.Inventory[mMySlot]?.Base != null) { mDescWindow = new ItemDescWindow( Globals.Me.Inventory[mMySlot].Base, Globals.Me.Inventory[mMySlot].Quantity, mInventoryWindow.X, mInventoryWindow.Y, Globals.Me.Inventory[mMySlot].StatBuffs, "", Strings.Shop.sellsfor.ToString(invItem.Base.Price.ToString(), costItem.Name) ); } } else { if (invItem?.Base != null) { mDescWindow = new ItemDescWindow( invItem.Base, invItem.Quantity, mInventoryWindow.X, mInventoryWindow.Y, invItem.StatBuffs, "", Strings.Shop.wontbuy ); } } } }