private void AddLoad(int loadPriority, IAssetLoadCallback callback, int type, string filename, int life, string stateName, int count) { if (string.IsNullOrEmpty(filename) || count < 1) { JW.Common.Log.LogE("AssetService.AddLoad : invalid parameter"); return; } if (_loader == null) { return; } AssetData data = new AssetData(); data.Priority = loadPriority; data.Callback = callback; data.Type = type; data.Name = filename; //data.Filename = todo Lod data.Filename = filename; data.Factory = AssetClassFactory.GetFactory(type); data.Life = life; data.StateName = stateName; data.Count = count; _loader.AddTask(ref data); }
/// 加载 private BaseAsset LoadAsset(int type, string filename, int life, bool clone = false) { AssetData data; data.Priority = LoadPriority.Wait; data.Callback = null; data.Type = type; data.Name = filename; //data.Filename = todo Lod FileName data.Filename = filename; data.Factory = AssetClassFactory.GetFactory(type); data.Life = life; data.StateName = GetLifeStateName(life); data.Count = 1; BaseAsset ba = _assetManager.Load(ref data, clone); if (ba == null) { JW.Common.Log.LogE("AssetService.LoadAsset : failed to load asset - {0}", data.Filename); return(null); } if (ba.BaseData.Type != type) { JW.Common.Log.LogE("AssetService.LoadAsset : type mismatch - {0}, type - {1};{2}", data.Filename, ba.BaseData.Type, type); Unload(ba); return(null); } AdjustAssetLife(ba, life); return(ba); }