using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
///
/// 步骤状态(管理一个步骤下的所有需要初始化的状态)
///
public class StepState : MonoBehaviour
{
[HideInInspector]
public int systemId;
[HideInInspector]
public int schemeId;
[HideInInspector]
public int subProcessId;
public Dictionary steps;
public void Init()
{
subProcessId = int.Parse(gameObject.name);
schemeId = int.Parse(transform.parent.name);
systemId = int.Parse(transform.parent.parent.name);
}
///
/// 跳场景并且执行场景状态设置
///
///
///
public void InvokeChangeScene(E_SceneType jumpSence, Action doStepState)
{
string sname = "";
switch (jumpSence)
{
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 != jumpSence)
{
//跳场景
GameManager.UIMgr.ShowPanel(E_UI_Layer.System);
GameManager.ScenesMgr.LoadSceneAsyn(sname, () =>
{
Debug.Log("步骤场景:" + jumpSence.ToString());
GameManager.UIMgr.HidePanel();
GameManager.RunModelMgr.SceneType = jumpSence;
GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchScene, jumpSence);
GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchSubProcessStepTriggerID, GameManager.ProcessMgr.d_Scheme.CurrentProcess.CurrentSubProcess.CurrentSubProcessStep.triggersId[0]);
doStepState.Invoke(true);
});
}
else
{
doStepState.Invoke(false);
}
}
}