Ejemplo n.º 1
0
        // 当资源文件加载完毕
        private void OnAssetFileLoad(AssetFileLoader loader)
        {
            // 注意 : 如果在加载过程中调用UnLoad,等资源文件加载完毕时不再执行后续准备工作。
            if (Result != EAssetResult.Loading)
            {
                return;
            }

            // Check error
            if (loader.LoadState != EAssetFileLoadState.LoadAssetFileOK)
            {
                Result = EAssetResult.Failed;
                _userCallback?.Invoke(this);
                return;
            }

            if (this is AssetScene || this is AssetPackage)
            {
                bool result = OnPrepare(null);
                Result = result ? EAssetResult.OK : EAssetResult.Failed;
                _userCallback?.Invoke(this);
            }
            else if (this is AssetObject)
            {
                loader.LoadMainAsset(null, OnMainAssetLoad);
            }
            else
            {
                throw new System.NotImplementedException($"Not support invalid asset class.");
            }
        }
Ejemplo n.º 2
0
        private void OnAssetFileLoad(AssetFileLoader loader)
        {
            // 注意 : 如果在加载过程中调用UnLoad,等资源文件加载完毕时不再执行后续准备工作。
            if (Result != EAssetResult.Loading)
            {
                return;
            }

            if (loader.LoadState == EAssetFileLoadState.LoadAssetFileOK)
            {
                loader.LoadMainAsset(AssetType, OnAssetObjectLoad);
            }
            else
            {
                Result = EAssetResult.Failed;

                // 回调接口
                if (_prepareCallback != null)
                {
                    _prepareCallback.Invoke(this, Result);
                }
            }
        }