/// <summary>
        /// 创建加载场景失败事件。
        /// </summary>
        /// <param name="e">内部事件。</param>
        /// <returns>创建的加载场景失败事件。</returns>
        public static OuterLoadSceneFailureEventArgs Create(InnerLoadSceneFailureEventArgs e)
        {
            OuterLoadSceneFailureEventArgs loadSceneFailureEventArgs = ReferencePool.Acquire <OuterLoadSceneFailureEventArgs>();

            loadSceneFailureEventArgs.SceneAssetName = e.SceneAssetName;
            loadSceneFailureEventArgs.ErrorMessage   = e.ErrorMessage;
            loadSceneFailureEventArgs.UserData       = e.UserData;
            return(loadSceneFailureEventArgs);
        }
Пример #2
0
        private void LoadSceneFailureCallback(string sceneAssetName, LoadResourceStatus status, string errorMessage, object userData)
        {
            m_LoadingSceneAssetNames.Remove(sceneAssetName);
            string appendErrorMessage = Utility.Text.Format("Load scene failure, scene asset name '{0}', status '{1}', error message '{2}'.", sceneAssetName, status.ToString(), errorMessage);

            if (m_LoadSceneFailureEventHandler != null)
            {
                InnerLoadSceneFailureEventArgs loadSceneFailureEventArgs = InnerLoadSceneFailureEventArgs.Create(sceneAssetName, appendErrorMessage, userData);
                m_LoadSceneFailureEventHandler(this, loadSceneFailureEventArgs);
                ReferencePool.Release(loadSceneFailureEventArgs);
                return;
            }

            throw new Exception(appendErrorMessage);
        }