49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using UnityEngine;
|
|
|
|
namespace DDD
|
|
{
|
|
public class DataManager : Singleton<DataManager>, IManager
|
|
{
|
|
public ItemDataSo ItemDataSo { get; private set; }
|
|
public FoodDataSo FoodDataSo { get; private set; }
|
|
public EnvironmentDataSo EnvironmentDataSo { get; private set; }
|
|
|
|
public bool IsInitialized { get; private set; }
|
|
|
|
public void Init()
|
|
{
|
|
|
|
}
|
|
|
|
public async void PostInit()
|
|
{
|
|
try
|
|
{
|
|
ItemDataSo = await AssetManager.LoadAsset<ItemDataSo>(DataConstants.ItemDataSo);
|
|
FoodDataSo = await AssetManager.LoadAsset<FoodDataSo>(DataConstants.FoodDataSo);
|
|
EnvironmentDataSo = await AssetManager.LoadAsset<EnvironmentDataSo>(DataConstants.EnvironmentDataSo);
|
|
|
|
IsInitialized = true;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
Debug.LogError($"So bind failed\n{e.Message}");
|
|
}
|
|
}
|
|
|
|
public async Task WaitUntilInitialized()
|
|
{
|
|
while (!IsInitialized)
|
|
{
|
|
await Task.Yield();
|
|
}
|
|
}
|
|
|
|
// TODO : So가 늘어나는 경우 관리 방법 변경 필요성이 있음
|
|
// GetItemType(id)
|
|
// GetItemImage
|
|
// GetItemName
|
|
}
|
|
} |