49 lines
1.6 KiB
C#
49 lines
1.6 KiB
C#
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<RuntimeAnimatorController> GetAnimatorController()
|
|
{
|
|
return await AssetManager.LoadAsset<RuntimeAnimatorController>(AnimatorControllerKey);
|
|
}
|
|
}
|
|
} |