FM/Assets/Scripts/Base/Res/ResourcesManager.cs

34 lines
946 B
C#

using UnityEngine;
using YooAsset;
namespace HK
{
public interface IResourceManager
{
T Load<T>(string assetPath) where T : Object;
GameObject LoadGameObject(string assetPath);
}
internal class ResourcesManager : ManagerBase<ResourcesManager>, IResourceManager
{
public T Load<T>(string assetPath) where T : Object
{
var o = YooAssets.LoadAssetSync<T>(assetPath).AssetObject as T;
return o;
}
public GameObject LoadGameObject(string assetPath)
{
var o = Load<GameObject>(assetPath);
var gameObject = GameObject.Instantiate(o,null);
return gameObject;
}
public GameObject LoadGameObject(string assetPath,Transform parent)
{
var gameObject = LoadGameObject(assetPath);
gameObject.transform.SetParent(parent);
return gameObject;
}
}
}