#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);
        }
Beispiel #2
0
        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;
        }