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);
});
}
}
}