private bool LoadDependencyAsset(string assetName, int priority, LoadResourceTaskBase mainTask, object userData) { if (mainTask == null) { throw new GameFrameworkException("Main task is invalid."); } ResourceInfo?resourceInfo = null; string resourceChildName = null; string[] dependencyAssetNames = null; string[] scatteredDependencyAssetNames = null; if (!CheckAsset(assetName, out resourceInfo, out resourceChildName, out dependencyAssetNames, out scatteredDependencyAssetNames)) { Log.Debug("Can not load asset '{0}'.", assetName); return(false); } LoadDependencyAssetTask dependencyTask = new LoadDependencyAssetTask(assetName, priority, resourceInfo.Value, resourceChildName, dependencyAssetNames, scatteredDependencyAssetNames, mainTask, userData); foreach (string dependencyAssetName in dependencyAssetNames) { if (!LoadDependencyAsset(dependencyAssetName, priority, dependencyTask, userData)) { Log.Debug("Can not load dependency asset '{0}' when load dependency asset '{1}'.", dependencyAssetName, assetName); return(false); } } m_TaskPool.AddTask(dependencyTask); return(true); }
private bool LoadDependencyAsset(string assetName, int priority, LoadResourceTaskBase mainTask, object userData) { if (mainTask == null) { throw new GXException("Main task is invalid."); } ResourceInfo?resourceInfo = null; string[] dependencyAssetNames = null; if (!CheckAsset(assetName, out resourceInfo, out dependencyAssetNames)) { return(false); } if (IsLoadFromBinary(resourceInfo.Value.LoadType)) { return(false); } LoadDependencyAssetTask dependencyTask = LoadDependencyAssetTask.Create(assetName, priority, resourceInfo.Value, dependencyAssetNames, mainTask, userData); foreach (string dependencyAssetName in dependencyAssetNames) { if (!LoadDependencyAsset(dependencyAssetName, priority, dependencyTask, userData)) { return(false); } } m_TaskPool.AddTask(dependencyTask); return(true); }
public LoadDependencyAssetTask(string assetName, int priority, ResourceInfo resourceInfo, string[] dependencyAssetNames, LoadResourceTaskBase mainTask, object userData) : base(assetName, null, priority, resourceInfo, dependencyAssetNames, userData) { m_MainTask = mainTask; m_MainTask.TotalDependencyAssetCount++; }
public override void Clear() { base.Clear(); m_MainTask = null; }
public static LoadDependencyAssetTask Create(string assetName, int priority, ResourceInfo resourceInfo, string[] dependencyAssetNames, LoadResourceTaskBase mainTask, object userData) { LoadDependencyAssetTask loadDependencyAssetTask = ReferencePool.Acquire <LoadDependencyAssetTask>(); loadDependencyAssetTask.Initialize(assetName, null, priority, resourceInfo, dependencyAssetNames, userData); loadDependencyAssetTask.m_MainTask = mainTask; loadDependencyAssetTask.m_MainTask.TotalDependencyAssetCount++; return(loadDependencyAssetTask); }
public LoadDependencyAssetTask() { m_MainTask = null; }
public LoadDependencyAssetTask(string assetName, ResourceInfo resourceInfo, string[] dependencyAssetNames, string[] scatteredDependencyAssetNames, string resourceChildName, LoadResourceTaskBase mainTask, object userData) : base(assetName, "", resourceInfo, dependencyAssetNames, scatteredDependencyAssetNames, resourceChildName, userData) { m_MainTask = mainTask; m_MainTask.TotalDependencyAssetCount++; }
public void Initialize(string assetName, int priority, ResourceInfo resourceInfo, string[] dependencyAssetNames, LoadResourceTaskBase mainTask, object userData) { base.Initialize(assetName, null, priority, resourceInfo, dependencyAssetNames, userData); m_MainTask = mainTask; m_MainTask.TotalDependencyAssetCount++; }