79 lines
2.2 KiB
C#
79 lines
2.2 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
using UnityEngine.Rendering.VirtualTexturing;
|
|
|
|
/// <summary>
|
|
/// 步骤状态控制(配置步骤初始状态,断线重连步骤状态加载,步骤状态结果实时提交)
|
|
/// </summary>
|
|
public class StepStateControl : MonoBehaviour
|
|
{
|
|
//场景初始化
|
|
//背包初始化
|
|
//提示初始化
|
|
//设备初始化
|
|
//工具和材料初始化
|
|
//自定义初始化
|
|
|
|
public static StepStateControl instance;
|
|
List<StepState> m_Steps;
|
|
|
|
private void Awake()
|
|
{
|
|
DontDestroyOnLoad(gameObject);
|
|
instance = this;
|
|
m_Steps = transform.GetComponentsInChildren<StepState>(true).ToList();
|
|
m_Steps.ForEach(a=> { a.Init(); });
|
|
}
|
|
|
|
/// <summary>
|
|
/// 注册当前科目里步骤里某个需要初始化的状态脚本
|
|
/// </summary>
|
|
/// <param name="objName"></param>
|
|
//public void AddStepStateBase(int[] subProcessIds,string objName,Action<string> callback)
|
|
//{
|
|
// List<StepState> ss=m_Steps.FindAll(a => a.systemId == GameManager.Instance.systemId && a.schemeId == GameManager.RunModelMgr.schemeID && subProcessIds.Contains(a.subProcessId));
|
|
// if (ss.Count >0)
|
|
// {
|
|
// ss.ForEach(a=>
|
|
// {
|
|
// //StepStateBase sb = a.stepStateBases.Find(a => a.gameObject.name == objName);
|
|
// //if (sb != null)
|
|
// //{
|
|
// // sb.AddResetFunction(callback);
|
|
// //}
|
|
// });
|
|
// }
|
|
//}
|
|
|
|
/// <summary>
|
|
/// 调用初始化步骤
|
|
/// </summary>
|
|
/// <param name="process"></param>
|
|
/// <param name="subProcess"></param>
|
|
/// <param name="step"></param>
|
|
public void InvokeInitStepState(int systemId, int schemeId, int subProcessId)
|
|
{
|
|
StepState tmp=m_Steps.Find(a => a.systemId == systemId && a.schemeId == schemeId);
|
|
if (tmp != null)
|
|
{
|
|
Debug.Log("执行步骤状态设置跳步骤");
|
|
tmp.JumpStep(subProcessId);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 提交步骤完成状态
|
|
/// </summary>
|
|
/// <param name="process"></param>
|
|
/// <param name="subProcess"></param>
|
|
/// <param name="step"></param>
|
|
/// <param name="score"></param>
|
|
public void SubmitStepState()
|
|
{
|
|
|
|
}
|
|
}
|