namespace DDD { public class InventorySlotUiStrategy : IItemSlotUiStrategy { public void Setup(ItemSlotUi ui, ItemViewModel model) { ui.SetIcon(model.ItemSprite); ui.SetCount(model.Count); ui.ShowCount(); ui.HideMark(); ui.SetButtonInteractable(true); } public void OnInventoryChanged(ItemSlotUi ui) { if (ui.Model == null) return; ui.Model.UpdateCount(); ui.SetCount(ui.Model.Count); } public bool CanCrafting(ItemSlotUi ui) { if (ui.Model == null) return false; return ui.Model.Count > 0; } } }