Skip to content

Commit

Permalink
InventoryItemPanel refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
miou-gh committed Sep 26, 2022
1 parent a1b59c9 commit c619c08
Showing 1 changed file with 8 additions and 22 deletions.
30 changes: 8 additions & 22 deletions EndlessClient/HUD/Inventory/InventoryPanelItem.cs
Expand Up @@ -48,7 +48,7 @@ public class ItemDragCompletedEventArgs
// Ru Paul's drag properties
private bool _beingDragged;
private Vector2 _oldOffset;
private bool dragItemPositioned;
private bool _dragPositioned;

private bool MousePressed => CurrentMouseState.LeftButton == ButtonState.Pressed && PreviousMouseState.LeftButton == ButtonState.Released;

Expand Down Expand Up @@ -217,7 +217,7 @@ protected override void OnUpdateControl(GameTime gameTime)
else
DrawPosition = GetPosition(Slot);

dragItemPositioned = false;
_dragPositioned = false;
_beingDragged = false;
_nameLabel.Visible = false;
}
Expand All @@ -241,39 +241,25 @@ protected override void OnDrawControl(GameTime gameTime)
var drawPosition = GetPosition(currentSlot) + (_beingDragged ? _oldOffset : ImmediateParent.DrawPositionWithParentOffset);

if (InventoryGridArea.Contains(DrawArea.WithPosition(drawPosition)))
{
_spriteBatch.Draw(_highlightBackground, DrawArea.WithPosition(drawPosition), Color.White);
}
}
}

if (_beingDragged)
{
// slot based on current mouse position if being dragged
var currentSlot = GetCurrentSlotBasedOnPosition();
var drawPosition = GetPosition(currentSlot) + (_beingDragged ? _oldOffset : ImmediateParent.DrawPositionWithParentOffset);

if (!dragItemPositioned)
{
if (InventoryGridArea.Contains(DrawArea.WithPosition(drawPosition)))
{
dragItemPositioned = true;
}
}
var drawPosition = GetPosition(currentSlot) + _oldOffset;

if (dragItemPositioned)
{
_spriteBatch.Draw(_itemGraphic, DrawPositionWithParentOffset, Color.FromNonPremultiplied(255, 255, 255, _beingDragged ? 128 : 255));
}
if (!_dragPositioned)
_dragPositioned = InventoryGridArea.Contains(DrawArea.WithPosition(drawPosition));

if (InventoryGridArea.Contains(DrawArea.WithPosition(drawPosition)))
{
_spriteBatch.Draw(_itemGraphic, _beingDragged ? (DrawPositionWithParentOffset) : DrawPositionWithParentOffset, Color.FromNonPremultiplied(255, 255, 255, _beingDragged ? 128 : 255));
}
if (_dragPositioned || InventoryGridArea.Contains(DrawArea.WithPosition(drawPosition)))
_spriteBatch.Draw(_itemGraphic, DrawPositionWithParentOffset, Color.FromNonPremultiplied(255, 255, 255, 128));
}
else
{
_spriteBatch.Draw(_itemGraphic, _beingDragged ? (DrawPositionWithParentOffset) : DrawPositionWithParentOffset, Color.FromNonPremultiplied(255, 255, 255, _beingDragged ? 128 : 255));
_spriteBatch.Draw(_itemGraphic, DrawPositionWithParentOffset, Color.FromNonPremultiplied(255, 255, 255, 255));
}

_spriteBatch.End();
Expand Down

0 comments on commit c619c08

Please sign in to comment.