using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FlowsBase : MonoBehaviour
{
[HideInInspector]
public FlowManager flowManager;
public int 流程序号;
public string 流程名称;
public 流程状态 流程状态 = 流程状态.未完成;
public 流程类型 流程类型;
public GameObject 提示;
public List<ToolBase> 流程物体 = new List<ToolBase>();
//[HideInInspector]
public int 交互完成计数;
public 流程对错判断 流程对错判断 = 流程对错判断.未操作;
public float 分值;
/// <summary>
/// 判断是否完成
/// </summary>
private bool 赋分完成;
public bool 流程完成;
// Start is called before the first frame update
protected virtual void Start()
{
// 流程物体 = new List<ToolBase>();
流程名称 = gameObject.name;
flowManager = GameObject.Find("GameFlowManager").GetComponent<FlowManager>();
}
protected virtual void Update()
{
步骤完成();
}
protected virtual void 赋分()
{ if (流程对错判断 == 流程对错判断.正确)
{
flowManager.总分 += 分值;
}
}
/// <summary>
/// 侦测步骤是否完成
/// </summary>
protected virtual void 步骤完成()
{
if (交互完成计数 == 流程物体.Count&& 赋分完成 == false)
{
if (流程状态 == 流程状态.未完成)
{
流程状态 = 流程状态.已完成;
赋分();
赋分完成 = true;
}
}
}
/// <summary>
/// 侦测步骤是否完成,如果完成则开始下一步
/// </summary>
protected virtual void Next() {
if (flowManager.流程模式 == 流程模式.练习模式 && 流程完成 == false && 流程状态 == 流程状态.已完成)
{
Debug.Log("下一步");
flowManager.index = 流程序号;
流程完成 = true;
}
}
}