ShanxiKnowledgeBase/SXElectricalInspection/Assets/Script/Flow/FlowManager.cs

173 lines
4.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class FlowManager : MonoBehaviour
{
public Flow_change flow_Change;
public Text text;
public TMPro.TMP_Text ;
public int index;
public float ;
public GameObject ;
public = .;
public List<FlowsBase> ;
private List<tipsbase> tipsbases;
private int newindex;
private int oldindex;
private void Awake()
{
for (int i = 0; i < .Count; i++)
{
[i].enabled = false;
for (int g = 0; g < [i]..Count; g++)
{
if ([i].[g]. == .)
{
[i].[g].GetComponent<Collider>().enabled = false;
}
}
}
}
private void OnEnable()
{
if (flow_Change. == true)
{
= .;
}
else {
= .;
}
}
// Start is called before the first frame update
void Start()
{
();
}
// Update is called once per frame
void Update()
{
IndexCheck();
text.text = "总分:" + .ToString();
}
/// <summary>
/// 侦测步骤变化
/// </summary>
public void IndexCheck()
{
oldindex = index;
if (oldindex != newindex)
{
();
}
newindex = index;
}
/// <summary>
/// 切换步骤时只开启对应步骤的交互点和物体及提示,只有练习模式生效
/// </summary>
public void ()
{
if ( == .)
{//开启线性模式
for (int i = 0; i < .Count; i++)
{
[i].enabled = false;
for (int g = 0; g < [i]..Count; g++)
{
if ([i].[g]. == .)
{
[i].[g].GetComponent<Collider>().enabled = false;
}
}
}
[index].enabled = true;
[index]..SetActive(true);
.text = [index].;
for (int i = 0; i < [index]..Count; i++)
{
if ([index].[i]. == .)
{
[index].[i].GetComponent<BoxCollider>().enabled = true;
}
}
//开启提示
tipsbases = new List<tipsbase>();
foreach (tipsbase item in .GetComponentsInChildren<tipsbase>())
{
tipsbases.Add(item);
}
for (int i = 0; i < tipsbases.Count; i++)
{
tipsbases[i].gameObject.SetActive(false);
}
[index].transform.GetChild(1).gameObject.SetActive(true);
}
else {
for (int i = 0; i < [index]..Count; i++)
{
if ([index].[i]. == .)
{
[index].[i].GetComponent<BoxCollider>().enabled = true;
}
}
[index].enabled = true;
[index].transform.GetChild(1).gameObject.SetActive(true);
.text = [index].;
for (int i = 0; i < .Count; i++)
{
[i].enabled = false;
for (int g = 0; g < [i]..Count; g++)
{
if ([i].[g]. == .)
{
[i].[g].GetComponent<Collider>().enabled = false;
}
}
}
}
}
}