// using System; // using System.Collections.Generic; // using System.Linq; // using BlueWater.Items; // using BlueWater.Tycoons; // using Sirenix.OdinInspector; // using UnityEngine; // using UnityEngine.Serialization; // // namespace BlueWater.Uis // { // public class DailyFoodMenuUi : MonoBehaviour // { // [Title("프리팹 생성 위치")] // [SerializeField, Required] // private Transform _soupFoodSlotLocation; // // [FormerlySerializedAs("_fryingPanFoodSlotLocation")] // [SerializeField, Required] // private Transform _grillFoodSlotLocation; // // [SerializeField, Required] // private Transform _skewerFoodSlotLocation; // // [SerializeField, Required] // private Transform _dessertFoodSlotLocation; // // [Title("프리팹")] // [SerializeField, Required] // private TycoonItemSlotUi _dailyFoodSlotUi; // // [Title("실시간 데이터")] // [SerializeField] // private List _soupFoodSlotUis = new(3); // // [FormerlySerializedAs("_fryingPanFoodSlotUis")] // [SerializeField] // private List _grillFoodSlotUis = new(3); // // [SerializeField] // private List _skewerFoodSlotUis = new(3); // // [SerializeField] // private List _dessertPanFoodSlotUis = new(3); // // [field: SerializeField] // public List DailyFoodSlotUis { get; private set; } = new(12); // // [SerializeField] // private List _pots = new(3); // // [SerializeField] // private List _grills = new(3); // // [SerializeField] // private List _skewers = new(3); // // private CookUi _cookUi; // // private void Start() // { // Initialize(); // } // // private void Initialize() // { // _cookUi = TycoonUiManager.Instance.TycoonManagementUi.CookMenuUi.CookUi; // // foreach (var element in _grillFoodSlotUis) // { // element.AddButtonClickListener(() => RemoveDailyFood(element)); // } // // foreach (var element in _soupFoodSlotUis) // { // element.AddButtonClickListener(() => RemoveDailyFood(element)); // } // // foreach (var element in _skewerFoodSlotUis) // { // element.AddButtonClickListener(() => RemoveDailyFood(element)); // } // // foreach (var element in _dessertPanFoodSlotUis) // { // element.AddButtonClickListener(() => RemoveDailyFood(element)); // } // } // // private void RemoveDailyFood(TycoonItemSlotUi tycoonItemSlotUi) // { // tycoonItemSlotUi.SetFoodData(null); // DailyFoodSlotUis.Remove(tycoonItemSlotUi); // _cookUi.CheckCookable(); // } // // public bool IsEmptyDailyFoodMenu(FoodData selectedFoodData) // { // var selectedTypeItemSlotUis = GetDailyFoodType(selectedFoodData.Type); // // foreach (var element in selectedTypeItemSlotUis) // { // if (!element.GetIsLocked() && element.FoodData == null || string.IsNullOrEmpty(element.FoodData.Idx)) // { // return true; // } // } // // return false; // } // // public void AddDailyFoodMenu(FoodData selectedFoodData) // { // var selectedTypeItemSlotUis = GetDailyFoodType(selectedFoodData.Type); // // foreach (var element in selectedTypeItemSlotUis) // { // if (!element.GetIsLocked() && element.FoodData == null || string.IsNullOrEmpty(element.FoodData.Idx)) // { // element.SetFoodData(selectedFoodData); // DailyFoodSlotUis.Add(element); // return; // } // } // } // // private List GetDailyFoodType(FoodType foodType) // { // switch (foodType) // { // case FoodType.None: // Debug.LogError($"FoodType이 None입니다."); // return null; // case FoodType.Skewer: // return _skewerFoodSlotUis; // case FoodType.Soup: // return _soupFoodSlotUis; // case FoodType.Grill: // return _grillFoodSlotUis; // case FoodType.Dessert: // return _dessertPanFoodSlotUis; // default: // throw new ArgumentOutOfRangeException(nameof(foodType), foodType, null); // } // } // // public bool CanOpen() // { // return _grillFoodSlotUis.Any(slot => slot.FoodData != null && !string.IsNullOrEmpty(slot.FoodData.Idx)) || // _soupFoodSlotUis.Any(slot => slot.FoodData != null && !string.IsNullOrEmpty(slot.FoodData.Idx)) || // _skewerFoodSlotUis.Any(slot => slot.FoodData != null && !string.IsNullOrEmpty(slot.FoodData.Idx)) || // _dessertPanFoodSlotUis.Any(slot => slot.FoodData != null && !string.IsNullOrEmpty(slot.FoodData.Idx)); // } // // public TycoonItemSlotUi InitializeGrill(Grill grill) // { // _grills.Add(grill); // var index = _grills.Count - 1; // _grillFoodSlotUis[index].SetIsLocked(false); // _grillFoodSlotUis[index].SetFoodData(null); // return _grillFoodSlotUis[index]; // } // // public TycoonItemSlotUi InitializePot(Pot pot) // { // _pots.Add(pot); // var index = _pots.Count - 1; // _soupFoodSlotUis[index].SetIsLocked(false); // _soupFoodSlotUis[index].SetFoodData(null); // return _soupFoodSlotUis[index]; // } // // // public TycoonItemSlotUi InitializeSkewer(Skewer skewer) // { // _skewers.Add(skewer); // var index = _skewers.Count - 1; // _skewerFoodSlotUis[index].SetIsLocked(false); // _skewerFoodSlotUis[index].SetFoodData(null); // return _skewerFoodSlotUis[index]; // } // // public void TycoonClosed() // { // DailyFoodSlotUis.Clear(); // // foreach (var element in _grillFoodSlotUis) // { // if (!element.GetIsLocked() && element.FoodData is not null) // { // element.SetFoodData(null); // } // } // // foreach (var element in _soupFoodSlotUis) // { // if (!element.GetIsLocked() && element.FoodData is not null) // { // element.SetFoodData(null); // } // } // // foreach (var element in _skewerFoodSlotUis) // { // if (!element.GetIsLocked() && element.FoodData is not null) // { // element.SetFoodData(null); // } // } // // foreach (var element in _dessertPanFoodSlotUis) // { // if (!element.GetIsLocked() && element.FoodData is not null) // { // element.SetFoodData(null); // } // } // } // } // }