コード例 #1
0
        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);
        }
コード例 #2
0
        /// 加载
        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);
        }