Files
test/Assets/PerfectWorld/Scripts/Common/DataProcess/ElementDataManProvider.cs
T
2025-12-25 10:50:39 +07:00

57 lines
1.5 KiB
C#

using System;
using BrewMonster.Scripts;
using Cysharp.Threading.Tasks;
using ModelRenderer.Scripts.GameData;
using UnityEngine;
namespace BrewMonster
{
public class ElementDataManProvider : IAutoInitialize
{
private static ElementDataManProvider _instance;
private elementdataman _elementDataMan;
public static elementdataman GetElementDataMan()
{
return _instance._elementDataMan;
}
public async void Initialize()
{
await InitializeInternal();
}
public async UniTask InitializeInternal()
{
_elementDataMan = new();
_instance = this;
try
{
while (!AddressableManager.Instance.IsInitialized())
{
await UniTask.DelayFrame(1);
}
var result = await _elementDataMan.load_data();
if (result == -1)
{
BMLogger.LogError("ElementDataManProvider: Failed to load element data");
}
else
{
BMLogger.Log("ElementDataManProvider: Successfully loaded element data");
}
}
catch (Exception ex)
{
BMLogger.LogError($"ElementDataManProvider: Failed to load element data: {ex} - {ex.StackTrace}");
}
}
public void Dispose()
{
_elementDataMan = null;
_instance = null;
}
}
}