Project_WL/Assets/Script/Ingame/Obj/IndicatorInfo.cs

30 lines
1.0 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
public class IndicatorInfo : MonoBehaviourSingletonTemplate<IndicatorInfo>
{
[RuntimeInitializeOnLoadMethod]
static void OnRuntimeMethodLoad()
{
var go = new GameObject("IndicatorInfo").AddComponent<IndicatorInfo>();
DontDestroyOnLoad(go.gameObject);
}
Dictionary<string, GameObject> dic_indicator = new Dictionary<string, GameObject>();
public void Make_Indicator(string indicatorName, Action<GameObject> action)
{
if (dic_indicator.ContainsKey(indicatorName))
action(dic_indicator[indicatorName]);
else
AddrResourceMgr.Ins.LoadObject<GameObject>($"Assets/Res_Addr/Obj/{indicatorName}.prefab", handle =>
{
var go = DSUtil.Get_Clone(handle.Result);
go.transform.parent = transform;
AddrResourceMgr.Ins.Set_AddressableReleaseSelf(go);
action(go);
dic_indicator.Add(indicatorName, go);
});
}
}