81 lines
2.2 KiB
C#
81 lines
2.2 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
|
|
/// <summary>
|
|
/// 步骤状态(管理一个步骤下的所有需要初始化的状态)
|
|
/// </summary>
|
|
public class StepState : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// 步骤所处场景
|
|
/// </summary>
|
|
public E_SceneType initSceneType;
|
|
|
|
[HideInInspector]
|
|
public int systemId;
|
|
[HideInInspector]
|
|
public int schemeId;
|
|
[HideInInspector]
|
|
public int subProcessId;
|
|
|
|
public List<StepStateBase> stepStateBases;
|
|
private Action<E_SceneType> callback;
|
|
|
|
public void Init()
|
|
{
|
|
stepStateBases = transform.GetComponentsInChildren<StepStateBase>(true).ToList();
|
|
subProcessId = int.Parse(gameObject.name);
|
|
schemeId = int.Parse(transform.parent.name);
|
|
systemId = int.Parse(transform.parent.parent.name);
|
|
}
|
|
|
|
///// <summary>
|
|
///// 注册场景跳转回调
|
|
///// </summary>
|
|
///// <param name="callback"></param>
|
|
//public void AddResetChangeScene(Action<E_SceneType> 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<UI_LoadingPanel>(E_UI_Layer.System);
|
|
GameManager.ScenesMgr.LoadSceneAsyn(sname, () =>
|
|
{
|
|
Debug.Log("步骤场景:" + initSceneType.ToString());
|
|
GameManager.UIMgr.HidePanel<UI_LoadingPanel>();
|
|
GameManager.RunModelMgr.SceneType = initSceneType;
|
|
GameManager.EventMgr.EventTrigger(Enum_EventType.SwitchScene, initSceneType);
|
|
});
|
|
}
|
|
}
|
|
}
|