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