public void GetAsset <T>(string _name, Action <T> _callBack) where T : UnityEngine.Object { string assetName; if (getAssetPathDelegate != null) { string tmpName = getAssetPathDelegate(_name, typeof(T)); if (!string.IsNullOrEmpty(tmpName)) { assetName = tmpName; } else { assetName = _name; } } else { assetName = _name; } #if USE_ASSETBUNDLE IAssetManagerUnit unit; if (!dic.TryGetValue(assetName, out unit)) { unit = new AssetManagerUnit <T>(assetName); dic.Add(assetName, unit); } (unit as AssetManagerUnit <T>).Load(_callBack); #else T data = AssetDatabase.LoadAssetAtPath <T>(assetName); _callBack(data); #endif }
public T GetAsset <T> (string _name, Action <T, string> _callBack) where T : UnityEngine.Object { #if USE_ASSETBUNDLE AssetManagerUnit <T> unit; if (!dic.ContainsKey(_name)) { unit = new AssetManagerUnit <T> (_name); dic.Add(_name, unit); } else { unit = dic [_name] as AssetManagerUnit <T>; } unit.Load(_callBack); return(null); #else string msg; T data = AssetDatabase.LoadAssetAtPath <T> (_name); if (data == null) { msg = "Resource load fail:" + _name; } else { msg = string.Empty; } _callBack(data, msg); return(data); #endif }