48 lines
1.5 KiB
C#
Raw Normal View History

2025-01-02 12:15:45 +08:00
using CG.UTility;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/********************************************************************************
*Create By CG
*Function ״̬ģʽ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*********************************************************************************/
namespace CG.Framework
{
public class StateContext
{
private State _state;
/// <summary>
/// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>״̬
/// </summary>
/// <param name="state"></param>
public void SetState(State state, string childrenPanelName = null)
{
_state = state;
string curSceneName = UnityEngine.SceneManagement.SceneManager.GetActiveScene().name;
if (curSceneName.Equals(_state._SceneName))
{
UI_Manage.Instance.HidePanelGroup(UIGroup.Main);
UI_Manage.Instance.HidePanelGroup(UIGroup.Tip);
_state.EnterState();
}
else
{
//LoadScenes.Instance.LoadScene(_state._SceneName, _state.EnterState);
LoadScenesAsyncNoPanel.Instance.LoadSceneAsync(_state._SceneName, () =>
{
UI_Manage.Instance.ClearPanelGroup(UIGroup.Main);
UI_Manage.Instance.ClearPanelGroup(UIGroup.Tip);
_state.EnterState();
});
}
CG.UTility.PopUpMng._TriAble = true;
}
public Type GetState()
{
return _state.GetType();
}
}
}