2024-06-18 18:16:19 +00:00
|
|
|
using UnityEngine;
|
|
|
|
using Sirenix.OdinInspector;
|
|
|
|
|
2024-07-02 18:27:56 +00:00
|
|
|
namespace BlueWater.Tycoons
|
2024-06-18 18:16:19 +00:00
|
|
|
{
|
2024-07-02 18:27:56 +00:00
|
|
|
public class TycoonManager : Singleton<TycoonManager>
|
2024-06-18 18:16:19 +00:00
|
|
|
{
|
2024-07-16 16:05:53 +00:00
|
|
|
[field: Title("컴포넌트")]
|
2024-06-18 18:16:19 +00:00
|
|
|
[field: SerializeField]
|
2024-07-08 20:06:22 +00:00
|
|
|
public CustomerTableController CustomerTableController { get; private set; }
|
|
|
|
|
|
|
|
[field: SerializeField]
|
|
|
|
public TycoonStageController TycoonStageController { get; private set; }
|
2024-09-23 02:00:21 +00:00
|
|
|
|
|
|
|
[field: SerializeField]
|
|
|
|
public TycoonIngredientController TycoonIngredientController { get; private set; }
|
2024-10-14 11:13:08 +00:00
|
|
|
|
|
|
|
[field: SerializeField]
|
|
|
|
public CrewController CrewController { get; private set; }
|
2024-10-20 17:21:39 +00:00
|
|
|
|
|
|
|
[field: SerializeField]
|
|
|
|
public CustomerController CustomerController { get; private set; }
|
|
|
|
|
|
|
|
[field: SerializeField]
|
|
|
|
public ServingTableController ServingTableController { get; private set; }
|
2024-11-17 04:29:57 +00:00
|
|
|
|
|
|
|
[field: SerializeField]
|
|
|
|
public TycoonCardController TycoonCardController { get; private set; }
|
2024-06-18 18:16:19 +00:00
|
|
|
|
2024-09-23 02:00:21 +00:00
|
|
|
[field: Title("타이쿤 플레이어 스탯")]
|
|
|
|
[field: SerializeField]
|
|
|
|
public TycoonStatus TycoonStatus { get; private set; }
|
2024-07-22 00:44:38 +00:00
|
|
|
|
2024-09-23 02:00:21 +00:00
|
|
|
[field: Title("So 데이터")]
|
2024-09-12 07:36:24 +00:00
|
|
|
[field: SerializeField, Required]
|
|
|
|
public LevelDataSo LevelDataSo { get; private set; }
|
2024-09-09 09:50:37 +00:00
|
|
|
|
2024-06-18 18:16:19 +00:00
|
|
|
protected override void OnAwake()
|
|
|
|
{
|
|
|
|
InitializeComponents();
|
|
|
|
}
|
2024-07-16 16:05:53 +00:00
|
|
|
|
|
|
|
private void Start()
|
|
|
|
{
|
2024-09-30 09:41:55 +00:00
|
|
|
TycoonStatus = new TycoonStatus();
|
2024-09-23 02:00:21 +00:00
|
|
|
TycoonStatus.Initialize();
|
2024-07-16 16:05:53 +00:00
|
|
|
}
|
2024-06-18 18:16:19 +00:00
|
|
|
|
2024-11-15 07:28:13 +00:00
|
|
|
private void OnDestroy()
|
|
|
|
{
|
|
|
|
TycoonStatus.Dispose();
|
|
|
|
}
|
|
|
|
|
2024-06-18 18:16:19 +00:00
|
|
|
[Button("컴포넌트 초기화")]
|
|
|
|
private void InitializeComponents()
|
|
|
|
{
|
2024-07-08 20:06:22 +00:00
|
|
|
CustomerTableController = GetComponent<CustomerTableController>();
|
|
|
|
TycoonStageController = GetComponent<TycoonStageController>();
|
2024-09-23 02:00:21 +00:00
|
|
|
TycoonIngredientController = GetComponent<TycoonIngredientController>();
|
2024-10-14 11:13:08 +00:00
|
|
|
CrewController = GetComponent<CrewController>();
|
2024-10-20 17:21:39 +00:00
|
|
|
CustomerController = GetComponent<CustomerController>();
|
|
|
|
ServingTableController = GetComponent<ServingTableController>();
|
2024-11-17 04:29:57 +00:00
|
|
|
TycoonCardController = GetComponent<TycoonCardController>();
|
2024-06-18 18:16:19 +00:00
|
|
|
}
|
2024-09-30 09:41:55 +00:00
|
|
|
|
|
|
|
public LevelData GetCurrentLevelData()
|
|
|
|
{
|
|
|
|
return LevelDataSo.GetDataByIdx(TycoonStatus.CurrentLevel.ToString());
|
|
|
|
}
|
2024-06-18 18:16:19 +00:00
|
|
|
}
|
|
|
|
}
|