83 lines
1.9 KiB
C#
83 lines
1.9 KiB
C#
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;
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|