using System; using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; /// /// 步骤状态(管理一个步骤下的所有需要初始化的状态) /// public class StepState : MonoBehaviour { /// /// 步骤所处场景 /// public E_SceneType initSceneType; [HideInInspector] public int systemId; [HideInInspector] public int schemeId; [HideInInspector] public int subProcessId; public List stepStateBases; private Action callback; public void Init() { stepStateBases = transform.GetComponentsInChildren(true).ToList(); subProcessId = int.Parse(gameObject.name); schemeId = int.Parse(transform.parent.name); systemId = int.Parse(transform.parent.parent.name); } ///// ///// 注册场景跳转回调 ///// ///// //public void AddResetChangeScene(Action callback) //{ // this.callback = callback; //} public void InvokeChangeScene() { //if (callback != null) //{ // callback(initSceneType); //}; string sname = ""; switch (initSceneType) { case E_SceneType.None: return; case E_SceneType.Office: sname = "03_OfficeScene"; break; case E_SceneType.ToolRoom: sname = "04_ToolMaterialScene"; break; case E_SceneType.Site: sname = "05_LiveScene"; break; default: return; } if (GameManager.RunModelMgr.SceneType != initSceneType) { GameManager.UIMgr.ShowPanel(E_UI_Layer.System); GameManager.ScenesMgr.LoadSceneAsyn(sname, () => { Debug.Log("步骤场景:" + initSceneType.ToString()); GameManager.UIMgr.HidePanel(); GameManager.RunModelMgr.SceneType = initSceneType; GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchScene, initSceneType); }); } } }