コード例 #1
0
ファイル: ResourceObject.cs プロジェクト: wangjie0707/Temp_01
 public override void Clear()
 {
     base.Clear();
     m_DependencyResources.Clear();
     m_ResourceHelper = null;
     m_ResourceLoader = null;
 }
コード例 #2
0
        /// <summary>
        /// 初始化加载资源代理的新实例。
        /// </summary>
        /// <param name="loadResourceAgentHelper">加载资源代理辅助器。</param>
        /// <param name="resourceHelper">资源辅助器。</param>
        /// <param name="resourceLoader">加载资源器。</param>
        /// <param name="readOnlyPath">资源只读区路径。</param>
        /// <param name="readWritePath">资源读写区路径。</param>
        /// <param name="decryptResourceCallback">解密资源回调函数。</param>
        public LoadResourceAgent(ILoadResourceAgentHelper loadResourceAgentHelper, IResourceHelper resourceHelper, ResourceLoaderComponent resourceLoader, string readOnlyPath, string readWritePath, DecryptResourceCallback decryptResourceCallback)
        {
            if (loadResourceAgentHelper == null)
            {
                throw new Exception("Load resource agent helper is invalid.");
            }

            if (resourceHelper == null)
            {
                throw new Exception("Resource helper is invalid.");
            }

            if (resourceLoader == null)
            {
                throw new Exception("Resource loader is invalid.");
            }

            if (decryptResourceCallback == null)
            {
                throw new Exception("Decrypt resource callback is invalid.");
            }

            m_Helper                  = loadResourceAgentHelper;
            m_ResourceHelper          = resourceHelper;
            m_ResourceLoader          = resourceLoader;
            m_ReadOnlyPath            = readOnlyPath;
            m_ReadWritePath           = readWritePath;
            m_DecryptResourceCallback = decryptResourceCallback;
            m_Task = null;
        }
コード例 #3
0
 public AssetObject()
 {
     m_DependencyAssets = new List <object>();
     m_Resource         = null;
     m_ResourceHelper   = null;
     m_ResourceLoader   = null;
     m_AssetCategory    = AssetCategory.None;
 }
コード例 #4
0
        public static AssetObject Create(string name, AssetCategory assetCategory, object target, List <object> dependencyAssets, object resource, IResourceHelper resourceHelper, ResourceLoaderComponent resourceLoader)
        {
            if (dependencyAssets == null)
            {
                throw new Exception("Dependency assets is invalid.");
            }

            if (resource == null)
            {
                throw new Exception("Resource is invalid.");
            }

            if (resourceHelper == null)
            {
                throw new Exception("Resource helper is invalid.");
            }

            if (resourceLoader == null)
            {
                throw new Exception("Resource loader is invalid.");
            }

            AssetObject assetObject = ReferencePool.Acquire <AssetObject>();

            assetObject.Initialize(name, target);
            assetObject.m_DependencyAssets.AddRange(dependencyAssets);
            assetObject.m_Resource       = resource;
            assetObject.m_ResourceHelper = resourceHelper;
            assetObject.m_ResourceLoader = resourceLoader;
            assetObject.m_AssetCategory  = assetCategory;

            foreach (object dependencyAsset in dependencyAssets)
            {
                int referenceCount = 0;
                if (resourceLoader.AssetDependencyCount.TryGetValue(dependencyAsset, out referenceCount))
                {
                    resourceLoader.AssetDependencyCount[dependencyAsset] = referenceCount + 1;
                }
                else
                {
                    resourceLoader.AssetDependencyCount.Add(dependencyAsset, 1);
                }
            }

            return(assetObject);
        }
コード例 #5
0
ファイル: ResourceObject.cs プロジェクト: wangjie0707/Temp_01
        public static ResourceObject Create(string name, object target, IResourceHelper resourceHelper, ResourceLoaderComponent resourceLoader)
        {
            if (resourceHelper == null)
            {
                throw new Exception("Resource helper is invalid.");
            }

            if (resourceLoader == null)
            {
                throw new Exception("Resource loader is invalid.");
            }

            ResourceObject resourceObject = ReferencePool.Acquire <ResourceObject>();

            resourceObject.Initialize(name, target);
            resourceObject.m_ResourceHelper = resourceHelper;
            resourceObject.m_ResourceLoader = resourceLoader;
            return(resourceObject);
        }
コード例 #6
0
ファイル: ResourceObject.cs プロジェクト: wangjie0707/Temp_01
 public ResourceObject()
 {
     m_DependencyResources = new List <object>();
     m_ResourceHelper      = null;
     m_ResourceLoader      = null;
 }