public void LoadToAsync() { if (toAsync) { state = ESourceState.Loading; var request = AssetBundle.LoadFromFileAsync(assetPath); request.completed += OnCreateRequest; } else { state = ESourceState.Loading; bundle = AssetBundle.LoadFromFile(assetPath); allAssets = bundle.LoadAllAssets(); if (allAssets.Length > 0) { mainAsset = allAssets[0]; } state = ESourceState.Loaded; for (int i = 0; i < m_mainCompleteEventHandlers.Count; i++) { m_mainCompleteEventHandlers[i](mainAsset); } m_mainCompleteEventHandlers.Clear(); for (int i = 0; i < m_allCompleteEventHandlers.Count; i++) { m_allCompleteEventHandlers[i](allAssets); } m_allCompleteEventHandlers.Clear(); } }
public void Reset() { state = ESourceState.None; m_allCompleteEventHandlers.Clear(); assetPath = null; toAsync = false; }
public void LoadAllAsset() { state = ESourceState.Loading; bundle = AssetBundle.LoadFromFile(assetPath); allAssets = bundle.LoadAllAssets(); if (allAssets.Length > 0) { mainAsset = allAssets[0]; } state = ESourceState.Loaded; }
private void OnBundleRequest(AsyncOperation async) { var request = (AssetBundleRequest)async; UnityEngine.Object obj = request.asset; mainAsset = obj; allAssets = request.allAssets; state = ESourceState.Loaded; for (int i = 0; i < m_mainCompleteEventHandlers.Count; i++) { m_mainCompleteEventHandlers[i](mainAsset); } m_mainCompleteEventHandlers.Clear(); for (int i = 0; i < m_allCompleteEventHandlers.Count; i++) { m_allCompleteEventHandlers[i](allAssets); } m_allCompleteEventHandlers.Clear(); }
internal StateEventArgs(ESourceState SubjectState = ESourceState.Stable, Exception Exception = null) { this.Exception = Exception; this.SubjectState = SubjectState; }
internal StateEventArgs(T Subject, ESourceState SubjectState = ESourceState.Stable, Exception Exception = null) : base(SubjectState, Exception) { this.Subject = Subject; }
private void OnStateChanged(ESourceState state) { State = state; OnStateChanged(); }