ShanxiKnowledgeBase/SXElectricalInspection/Assets/Adam/Scripts/BiaoJiController.cs

258 lines
8.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using BjData;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Utility;
//============================================================
//支持中文文件使用UTF-8编码
//@author YangHua
//@create 20230920
//@company QianHuo
//
//@description:
//============================================================
namespace QianHuo
{
public enum BiaoJiType
{
defaultModel,
,
,
,
}
[Serializable]
public struct ErrorObjs
{
public GameObject objParent;
public GameObject[] objChildren;
}
public class BiaoJiController : MonoBehaviour
{
public BiaoJiType biaoJiType = BiaoJiType.defaultModel;
public GameObject guimenFengYing;
public GameObject biaoJiFengYing;
public GameObject luoSi;
public GameObject jiexianheFengYing;
public GameObject huganqiFengYing;
/// <summary>
/// 三相_无互感器_无光伏
/// </summary>
public ErrorObjs[] correctObjs;
/// <summary>
/// 三相_无互感器_无光伏
/// </summary>
public ErrorObjs[] errorObjs;
public ErrorObjs[] dianYaCorrectObjs;
public ErrorObjs[] dianYaErrorObjs;
public ErrorObjs currentErrorObj;
public ErrorObjs currentCorrectObj;
public string[] abc;
public string warnningType;
public string onSite;
public string userState;
public bool isGuanFu = false;
// Use this for initialization
private void Start()
{
//userState = GlobalFlag.biaojiData.userState;
//warnningType = GlobalFlag.biaojiData.warningType;
//onSite = GlobalFlag.biaojiData.onSite;
//if (userState == "正常") return;
if (guimenFengYing.GetComponent<DoolsPlayer>())
guimenFengYing.GetComponent<DoolsPlayer>()._collider.enabled = true;
//guimenFengYing.SetActive(false);
GameManager.Instance.YanDian = true;
if (isGuanFu)
{
if (warnningType.Equals("电压异常"))
{
SwitchDianYaErrorObjs();
SwitchDianYaCorrectObjs();
}
else if (warnningType.Equals("电流异常"))
{
SwitchDianLiuErrorObjs();
SwitchDianLiuCorrectObjs();
}
}
else
{
SwitchDianYaErrorObjs();
SwitchDianYaCorrectObjs();
SwitchDianLiuErrorObjs();
SwitchDianLiuCorrectObjs();
}
switch (onSite)
{
case "电能表U型环短接":
if (biaoJiFengYing.GetComponent<AmmeterSon>())
luoSi.GetComponent<AmmeterSon>().enabled = true;
luoSi.GetComponent<AmmeterSon>().Run = true;
biaoJiFengYing.SetActive(false);
SwitchDianLiuObjs();
break;
case "接线盒U型环短接":
case "接线盒连接片短接":
case "接线盒小电阻短接":
if (jiexianheFengYing != null)
{
if (jiexianheFengYing.GetComponent<DoolsPlayer>())
jiexianheFengYing.GetComponent<DoolsPlayer>()._collider.enabled = true;
jiexianheFengYing.SetActive(false);
}
SwitchDianLiuObjs();
break;
case "互感器U型环短接":
case "互感器开路":
if (huganqiFengYing != null)
{
if (huganqiFengYing.GetComponent<DoolsPlayer>())
huganqiFengYing.GetComponent<DoolsPlayer>()._collider.enabled = true;
huganqiFengYing.SetActive(false);
}
break;
}
SwitchABC();
}
/// <summary>
/// 控制电流正确项
/// </summary>
public void SwitchDianLiuObjs()
{
for (int i = 0; i < correctObjs.Length; i++)
{
correctObjs[i].objParent.SetActive(true);
}
}
/// <summary>
/// 三相_无互感器_无光伏 控制电流错误项
/// </summary>
public void SwitchDianLiuErrorObjs()
{
string onSiteState = GlobalFlag.biaojiData.warningType;
for (int i = 0; i < errorObjs.Length; i++)
{
int index = i;
errorObjs[index].objParent.SetActive(false);
if (onSiteState.Equals(errorObjs[index].objParent.name))
{
errorObjs[index].objParent.SetActive(true);
currentErrorObj = errorObjs[index];
}
}
}
/// <summary>
/// 三相_无互感器_无光伏 控制电流正确项
/// </summary>
public void SwitchDianLiuCorrectObjs()
{
string onSiteState = GlobalFlag.biaojiData.warningType;
for (int i = 0; i < correctObjs.Length; i++)
{
int index = i;
correctObjs[index].objParent.SetActive(false);
if (onSiteState.Equals(correctObjs[index].objParent.name))
{
correctObjs[index].objParent.SetActive(true);
currentCorrectObj = correctObjs[index];
}
}
}
public void SwitchABC()
{
//if (!string.IsNullOrEmpty(GlobalFlag.biaojiData.selectInfo))
// abc = ToolUtility.GetInfos(GlobalFlag.biaojiData.selectInfo, '_');
for (int i = 0; i < currentErrorObj.objChildren.Length; i++)
{
currentErrorObj.objChildren[i].SetActive(false);
}
for (int i = 0; i < currentCorrectObj.objChildren.Length; i++)
{
currentCorrectObj.objChildren[i].SetActive(true);
}
for (int i = 0; i < abc.Length; i++)
{
int index = i;
if (currentErrorObj.objParent != null)
{
for (int j = 0; j < currentErrorObj.objChildren.Length; j++)
{
if (abc[index].Equals(currentErrorObj.objChildren[j].name))
{
currentErrorObj.objChildren[j].SetActive(true);
}
}
}
}
for (int i = 0; i < abc.Length; i++)
{
int index = i;
if (currentCorrectObj.objParent != null)
{
for (int j = 0; j < currentCorrectObj.objChildren.Length; j++)
{
if (abc[index].Equals(currentCorrectObj.objChildren[j].name))
{
currentCorrectObj.objChildren[j].SetActive(false);
}
}
}
}
}
public void SwitchDianYaErrorObjs()
{
string onSiteState = GlobalFlag.biaojiData.warningType;
for (int i = 0; i < dianYaCorrectObjs.Length; i++)
{
dianYaCorrectObjs[i].objParent.SetActive(false);
if (dianYaCorrectObjs[i].objParent.name.Contains(onSiteState))
{
dianYaCorrectObjs[i].objParent.SetActive(true);
currentCorrectObj = dianYaCorrectObjs[i];
}
}
}
public void SwitchDianYaCorrectObjs()
{
string onSiteState = GlobalFlag.biaojiData.warningType;
for (int i = 0; i < dianYaErrorObjs.Length; i++)
{
dianYaErrorObjs[i].objParent.SetActive(false);
if (dianYaErrorObjs[i].objParent.name.Contains(onSiteState))
{
dianYaErrorObjs[i].objParent.SetActive(true);
currentErrorObj = dianYaErrorObjs[i];
}
}
}
}
}