#pragma warning restore 0649 public bool SetItemSlot(ItemSlotButton button, IEntity entity) { if (entity == null) { button.SpriteView.Sprite = null; button.StorageButton.Visible = false; } else { if (!entity.TryGetComponent(out ISpriteComponent sprite)) { return(false); } button.ClearHover(); button.SpriteView.Sprite = sprite; button.StorageButton.Visible = entity.HasComponent <ClientStorageComponent>(); } return(true); }
public void HoverInSlot(ItemSlotButton button, IEntity?entity, bool fits) { if (entity == null || !button.MouseIsHovering) { button.ClearHover(); return; } if (!entity.HasComponent <SpriteComponent>()) { return; } // Set green / red overlay at 50% transparency var hoverEntity = _entityManager.SpawnEntity("hoverentity", MapCoordinates.Nullspace); var hoverSprite = hoverEntity.GetComponent <SpriteComponent>(); hoverSprite.CopyFrom(entity.GetComponent <SpriteComponent>()); hoverSprite.Color = fits ? new Color(0, 255, 0, 127) : new Color(255, 0, 0, 127); button.HoverSpriteView.Sprite = hoverSprite; }