Improve item slot hover.

1. Use a separate SpriteView for the hover entity to avoid any bookkeeping issues
2. don't set storagebutton visibility.
This commit is contained in:
Pieter-Jan Briers
2020-07-26 17:57:48 +02:00
parent 60a2a400e0
commit 804f287ee3
2 changed files with 22 additions and 15 deletions

View File

@@ -47,7 +47,8 @@ namespace Content.Client.UserInterface
{
if (!entity.TryGetComponent(out ISpriteComponent sprite))
return false;
button.EntityHover = false;
button.ClearHover();
button.SpriteView.Sprite = sprite;
button.StorageButton.Visible = entity.HasComponent<ClientStorageComponent>();
}
@@ -132,9 +133,7 @@ namespace Content.Client.UserInterface
{
if (entity == null || !button.MouseIsHovering)
{
button.SpriteView.Sprite?.Owner.Delete();
button.SpriteView.Sprite = null;
button.StorageButton.Visible = false;
button.ClearHover();
return;
}
@@ -149,9 +148,7 @@ namespace Content.Client.UserInterface
hoverSprite.CopyFrom(entity.GetComponent<SpriteComponent>());
hoverSprite.Color = fits ? new Color(0, 255, 0, 127) : new Color(255, 0, 0, 127);
button.EntityHover = true;
button.SpriteView.Sprite = hoverSprite;
button.StorageButton.Visible = entity.HasComponent<ClientStorageComponent>();
button.HoverSpriteView.Sprite = hoverSprite;
}
}
}