using System.Threading.Tasks; using UnityEngine; namespace DDD { public class TodayMenuSlotUiStrategy : IItemSlotUiStrategy { private readonly RecipeType _recipeType; public string AnimatorControllerKey => "TodayMenuSlotUi"; public TodayMenuSlotUiStrategy(RecipeType recipeType) { _recipeType = recipeType; } public void Setup(ItemSlotUi ui, ItemViewModel model) { if (model == null) { string emptySpriteKey = null; if (_recipeType == RecipeType.FoodRecipe) { emptySpriteKey = SpriteConstants.EmptyFoodSpriteKey; } else if (_recipeType == RecipeType.DrinkRecipe) { emptySpriteKey = SpriteConstants.EmptyDrinkSpriteKey; } ui.SetIcon(DataManager.Instance.GetSprite(emptySpriteKey)); ui.HideCountText(); ui.HideMark(); ui.SetButtonInteractable(false); return; } ui.SetIcon(model.ItemSprite); ui.HideCountText(); ui.ShowMark(DataManager.Instance.GetSprite(SpriteConstants.CheckNoSpriteKey)); // TODO : 추후에 장비와 매칭 ui.SetButtonInteractable(true); } public async Task GetAnimatorController() { return await AssetManager.LoadAsset(AnimatorControllerKey); } } }