using UnityEngine; using YooAsset; namespace HK { public interface IResourceManager { T Load(string assetPath) where T : Object; GameObject LoadGameObject(string assetPath); } internal class ResourcesManager : ManagerBase, IResourceManager { public T Load(string assetPath) where T : Object { var o = YooAssets.LoadAssetSync(assetPath).AssetObject as T; return o; } public GameObject LoadGameObject(string assetPath) { var o = Load(assetPath); var gameObject = GameObject.Instantiate(o,null); return gameObject; } public GameObject LoadGameObject(string assetPath,Transform parent) { var o = Load(assetPath); var gameObject = GameObject.Instantiate(o,parent); return gameObject; } public GameObject Load3DModelGameObject(string assetPath) { var transform = GameObject.Find("3dModel").transform; var gameObject = LoadGameObject(assetPath); gameObject.transform.SetParent(transform); gameObject.transform.localScale = Vector3.one; gameObject.transform.localPosition = Vector3.zero; return gameObject; } } }