|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
namespace ET
|
|
|
|
{
|
|
|
|
public static class YooAssetHelper
|
|
|
|
{
|
|
|
|
public static async ETTask<GameObject> InstantiateAsync(this Entity self, string location, Transform parent_transform = null, bool stay_world_space = false)
|
|
|
|
{
|
|
|
|
var autoResLoaderComp = self.GetComponent<AutoResLoaderComponent>();
|
|
|
|
if ( autoResLoaderComp == null)
|
|
|
|
{
|
|
|
|
autoResLoaderComp = self.AddComponent<AutoResLoaderComponent>();
|
|
|
|
}
|
|
|
|
|
|
|
|
var go = await autoResLoaderComp.InstantiateAsync(location, parent_transform, stay_world_space);
|
|
|
|
return go;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static GameObject InstantiateSync(this Entity self, string location, Transform parent_transform = null, bool stay_world_space = false)
|
|
|
|
{
|
|
|
|
var autoResLoaderComp = self.GetComponent<AutoResLoaderComponent>();
|
|
|
|
if ( autoResLoaderComp == null)
|
|
|
|
{
|
|
|
|
autoResLoaderComp = self.AddComponent<AutoResLoaderComponent>();
|
|
|
|
}
|
|
|
|
|
|
|
|
var go = autoResLoaderComp.InstantiateSync(location, parent_transform, stay_world_space);
|
|
|
|
return go;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static async ETTask<T> LoadAssetAsync<T>(this Entity self, string location) where T : UnityEngine.Object
|
|
|
|
{
|
|
|
|
var autoResLoaderComp = self.GetComponent<AutoResLoaderComponent>();
|
|
|
|
if ( autoResLoaderComp == null)
|
|
|
|
{
|
|
|
|
autoResLoaderComp = self.AddComponent<AutoResLoaderComponent>();
|
|
|
|
}
|
|
|
|
|
|
|
|
var obj = await autoResLoaderComp.LoadAssetAsync<T>(location);
|
|
|
|
return obj;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static T LoadAssetSync<T>(this Entity self, string location) where T : UnityEngine.Object
|
|
|
|
{
|
|
|
|
var autoResLoaderComp = self.GetComponent<AutoResLoaderComponent>();
|
|
|
|
if ( autoResLoaderComp == null)
|
|
|
|
{
|
|
|
|
autoResLoaderComp = self.AddComponent<AutoResLoaderComponent>();
|
|
|
|
}
|
|
|
|
|
|
|
|
var obj = autoResLoaderComp.LoadAssetSync<T>(location);
|
|
|
|
return obj;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static string ToPrefabAddress(this string self)
|
|
|
|
{
|
|
|
|
return "Prefab_" + self;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|