80 lines
2.5 KiB
C#
80 lines
2.5 KiB
C#
using System;
|
|
using BlueWater.Audios;
|
|
using UnityEngine;
|
|
using Sirenix.OdinInspector;
|
|
|
|
namespace BlueWater.Tycoons
|
|
{
|
|
public class TycoonManager : Singleton<TycoonManager>
|
|
{
|
|
[field: Title("컴포넌트")]
|
|
[field: SerializeField]
|
|
public CustomerTableController CustomerTableController { get; private set; }
|
|
|
|
[field: SerializeField]
|
|
public TycoonStageController TycoonStageController { get; private set; }
|
|
|
|
[field: SerializeField]
|
|
public TycoonIngredientController TycoonIngredientController { get; private set; }
|
|
|
|
[field: SerializeField]
|
|
public CrewController CrewController { get; private set; }
|
|
|
|
[field: SerializeField]
|
|
public CustomerController CustomerController { get; private set; }
|
|
|
|
[field: SerializeField]
|
|
public ServingTableController ServingTableController { get; private set; }
|
|
|
|
[SerializeField]
|
|
private string _dailyBgm;
|
|
|
|
[field: Title("타이쿤 플레이어 스탯")]
|
|
[field: SerializeField]
|
|
public TycoonStatus TycoonStatus { get; private set; }
|
|
|
|
[field: Title("So 데이터")]
|
|
[field: SerializeField, Required]
|
|
public LevelDataSo LevelDataSo { get; private set; }
|
|
|
|
[field: SerializeField, Required]
|
|
public CardDataSo CardDataSo { get; private set; }
|
|
|
|
protected override void OnAwake()
|
|
{
|
|
InitializeComponents();
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
if (!string.IsNullOrEmpty(_dailyBgm))
|
|
{
|
|
AudioManager.Instance.PlayBgm(_dailyBgm);
|
|
}
|
|
|
|
TycoonStatus = new TycoonStatus();
|
|
TycoonStatus.Initialize();
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
TycoonStatus.Dispose();
|
|
}
|
|
|
|
[Button("컴포넌트 초기화")]
|
|
private void InitializeComponents()
|
|
{
|
|
CustomerTableController = GetComponent<CustomerTableController>();
|
|
TycoonStageController = GetComponent<TycoonStageController>();
|
|
TycoonIngredientController = GetComponent<TycoonIngredientController>();
|
|
CrewController = GetComponent<CrewController>();
|
|
CustomerController = GetComponent<CustomerController>();
|
|
ServingTableController = GetComponent<ServingTableController>();
|
|
}
|
|
|
|
public LevelData GetCurrentLevelData()
|
|
{
|
|
return LevelDataSo.GetDataByIdx(TycoonStatus.CurrentLevel.ToString());
|
|
}
|
|
}
|
|
} |