Exemplo n.º 1
0
 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>");
     }
 }
Exemplo n.º 2
0
        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>");
                }
            }
        }
Exemplo n.º 3
0
        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);
        }