public override void Begin() { sceneType = LoadSceneType.One; prefabPanel = m_canvas.transform.Find("LoadPanel").gameObject; sprites = Resources.LoadAll <Sprite>("Background"); OneTypePanel = prefabPanel.transform.Find("LoadPanelOne").gameObject; TwoTypePanel = prefabPanel.transform.Find("LoadGamePanel").gameObject; }
/// <summary> /// 全局读取场景事件,在读取场景之前运行 /// </summary> /// <param name="buildIndex"></param> /// <param name="sceneName"></param> /// <param name="type"></param> /// <param name="mode"></param> /// <param name="async"></param> protected override void OnLoadScene(int buildIndex, string sceneName, LoadSceneType type, LoadSceneMode mode, bool async) { // 如果是异步的,打开Loading面板 if (async) { TestUIManager.views.OpenViewNotStack(TestUINames.Panel_TestUILoadingPanel, false, sceneName); } }
/// <summary> /// Request a scene using a given loading type. /// </summary> /// <param name="loadType">Load type.</param> /// <param name="sceneName">Scene name.</param> public void RequestScene(LoadSceneType loadType, string sceneName) { if (!_loadScene) { _requestedSceneName = sceneName; _loadScene = true; _loadType = loadType; //only close screens, not overlays ScreenClose(_currentScreen.GetType()); } }
/// <summary> /// 设置切换到下一个场景 /// </summary> /// <param name="state"></param> /// <param name="LoadSceneName"></param> /// <param name="sceneType"></param> /// <param name="Speed"></param> public void SetNextSceneState(string LoadSceneName, LoadSceneType sceneType, float Speed) { indexNumber = 0; this.m_NextSceneName = LoadSceneName; this.sceneType = sceneType; this.m_Speed = Speed; if (m_Background != null) { m_Background.sprite = sprites[Random.Range(0, sprites.Length)]; } //切换面板状态 ChangePanelType(); }
/// <summary> /// 开始读取场景 /// </summary> /// <param name="scene"></param> /// <param name="mode"></param> /// <param name="async"></param> /// <param name="progress"></param> private void LoadScene(int buildIndex, string sceneName, LoadSceneType type, LoadSceneMode mode, bool async, Action <float> progress) { if (m_EditorLog) { Debug.LogFormat( "Globle -> Before Load Scene({0}). Type({1}) Mode({2}) Async({3})", type == LoadSceneType.BuildIndex ? buildIndex.ToString() : sceneName, type.ToString(), mode.ToString(), async.ToString() ); } OnLoadScene(buildIndex, sceneName, type, mode, async); // 发送开始读取场景事件 s_OnLoadSceneArgs.activeScene = SceneManager.GetActiveScene(); s_OnLoadSceneArgs.buildIndex = buildIndex; s_OnLoadSceneArgs.sceneName = sceneName; s_OnLoadSceneArgs.type = type; s_OnLoadSceneArgs.mode = mode; s_OnLoadSceneArgs.async = async; this.SendByMessageCenter(k_Event_OnLoadScene, s_OnLoadSceneArgs); if (type == LoadSceneType.BuildIndex) { if (async) { AsyncOperation operation = SceneManager.LoadSceneAsync(buildIndex, mode); StartCoroutine(LoadingOrUnloadingScene(operation, progress)); } else { SceneManager.LoadScene(buildIndex, mode); } } else { if (async) { AsyncOperation operation = SceneManager.LoadSceneAsync(sceneName, mode); StartCoroutine(LoadingOrUnloadingScene(operation, progress)); } else { SceneManager.LoadScene(sceneName, mode); } } }
/// <summary> /// 用于override的全局开始读取场景事件,在读取场景之前执行 /// </summary> /// <param name="buildIndex"></param> /// <param name="sceneName"></param> /// <param name="type"></param> /// <param name="mode"></param> /// <param name="async"></param> protected virtual void OnLoadScene(int buildIndex, string sceneName, LoadSceneType type, LoadSceneMode mode, bool async) { }
public LoadSceneData(LoadSceneType loadSceneType, float Progress, object loadSceneInfo) { this.loadSceneType = loadSceneType; this.Progress = Progress; this.LoadSceneInfo = loadSceneInfo; }
public LoadSceneData(LoadSceneType loadSceneType, float Progress) { this.loadSceneType = loadSceneType; this.Progress = Progress; }
public LoadSceneInfo(ESceneID sceneID, LoadSceneType type, LoadSceneMode mode) { this.sceneID = sceneID; this.loadType = type; this.mode = mode; }
/// <summary> /// 对外提供设置加载状态方式 /// </summary> /// <param name="type"></param> /// <param name="speed"></param> public void SetNextSceneSpeedandType(LoadSceneType type = LoadSceneType.One, float speed = 30) { m_sceneType = type; m_speed = speed; }
/// <summary> /// Request a scene, and open the specified overlay when scene finishes loading. /// </summary> /// <param name="loadType">Load type.</param> /// <param name="sceneName">Scene name.</param> /// <typeparam name="T">The 1st type parameter.</typeparam> public void RequestSceneWithOverlay <T>(LoadSceneType loadType, string sceneName) where T : AbstractView { RequestSceneWithOverlay(typeof(T), loadType, sceneName); }
/// <summary> /// Request a scene, and open the specified view when scene finishes loading. /// </summary> /// <param name="viewType">View type.</param> /// <param name="loadType">Load type.</param> /// <param name="sceneName">Scene name.</param> public void RequestSceneWithView(Type viewType, LoadSceneType loadType, string sceneName) { _manager.RequestSceneWithView(viewType, loadType, sceneName); }
public void RequestScene(LoadSceneType loadingType, string sceneName) { _manager.RequestScene(loadingType, sceneName); }
/// <summary> /// Request a scene, and open the specified view when scene finishes loading. /// </summary> /// <param name="viewType">View type.</param> /// <param name="loadType">Load type.</param> /// <param name="sceneName">Scene name.</param> public void RequestSceneWithOverlay(Type viewType, LoadSceneType loadType, string sceneName) { OpenOverlayWhenSceneLoads(viewType, sceneName); RequestScene(loadType, sceneName); }
/// <summary> /// Request a scene, and open the specified view when scene finishes loading. /// </summary> /// <param name="viewType">View type.</param> /// <param name="loadType">Load type.</param> /// <param name="sceneName">Scene name.</param> public void RequestSceneWithView(Type viewType, LoadSceneType loadType, string sceneName) { OpenViewWhenSceneLoads(viewType, sceneName); RequestScene(loadType, sceneName); }