public override void Update() { if (_loadingState == ELoadingState.Loading) { if (_www == null) { _loadingState = ELoadingState.LoadedFailed; } else if (_www.isDone) { if (_www.error != null || _www.assetBundle == null) { _loadingState = ELoadingState.LoadedFailed; } else { _assetBundle = _www.assetBundle; if (_assetBundle == null) { _loadingState = ELoadingState.LoadedFailed; } else { _loadingState = ELoadingState.WaitToCallback; } } } } else if (_loadingState == ELoadingState.WaitToCallback) { _loadingState = ELoadingState.Loaded; #if UNITY_EDITOR //if (IsNeedToChangeShader) { GameObject go = _assetBundle.mainAsset as GameObject; if (go != null) { BundleManager.ChangeShader(go.transform); } } #endif OnLoadingComplete(); if (_www != null) { _www.Dispose(); _www = null; } } else if (_loadingState == ELoadingState.LoadedFailed) { OnLoadingFailed(); if (_www != null) { _www.Dispose(); _www = null; } } }