protected void AddAssetToCachePool(string assetName, Object targetObj) { if (targetObj != null) { var assetNode = LoadAsset(assetName, null); if (assetNode == null) { assetNode = AssetNode.GetAssetNode(); assetNode.Target = targetObj; m_AssetCachePool.AddAssetNode(assetName, assetNode); } } else { Debug.LogError("Asset doesn't exist at ResourcesAssetManager.LoadAssetAsync,Asset name is <color=#ff0000>" + assetName + "</color>"); } }
public override void LoadAssetSync(string assetName, UnityAction <Object> loadedCallback) { var assetNode = LoadAsset(assetName, loadedCallback); if (assetNode == null) { var targetObj = m_AssetLoader.LoadAssetSync(assetName); if (targetObj != null) { assetNode = AssetNode.GetAssetNode(); assetNode.Target = targetObj; m_AssetCachePool.AddAssetNode(assetName, assetNode); SafeInvokeDoneAction(loadedCallback, assetNode.Target); } else { Debug.LogError("Asset doesn't exist at ResourcesAssetManager.LoadAssetSync,Asset name is <color=#ff0000>" + assetName + "</color>"); } } }
public AssetNode GetAssetNode(string assetName) { if (m_RecycleAssetIndexMap.ContainsKey(assetName)) { var assetReference = m_RecycleAssetList[m_RecycleAssetIndexMap[assetName]]; if (assetReference.IsAlive()) { var target = assetReference.GetTarget() as Object; if (target == null) { RemoveAsset(assetName); return(null); } var assetNode = AssetNode.GetAssetNode(); assetNode.Target = assetReference.GetTarget() as Object; assetNode.LastAccessTime = Time.unscaledTime; return(assetNode); } RemoveAsset(assetName); } return(null); }