YanCheng_Metrology/Assets/Scripts/CXX/SiteManager.cs

75 lines
2.3 KiB
C#

using Cysharp.Threading.Tasks.Triggers;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 现场控制脚本
/// </summary>
public class SiteManager : MonoBehaviour
{
public static SiteManager instance;
/// <summary>
/// 机柜
/// </summary>
public Device_MeasuringCabinet measuringCabinet;
/// <summary>
/// 电能表碰撞
/// </summary>
public BoxCollider dianCollider;
private void Awake()
{
instance = this;
}
private void Update()
{
//使能电能表碰撞
if (measuringCabinet.meteringDevice == null)
{
dianCollider.enabled = true;
}
else
{
//电能表固定螺丝拆掉了,线拆掉了
if (!measuringCabinet.meteringDevice.fix_screw_left.isInstall && !measuringCabinet.meteringDevice.fix_screw_right.isInstall && measuringCabinet.jieXian_screws.TrueForAll(a=>!a.isConnected))
{
dianCollider.enabled = true;
}
else
{
dianCollider.enabled = false;
}
}
if (Input.GetMouseButtonDown(0))
{
if(Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition),out RaycastHit hit))
{
if(hit.collider== dianCollider)
{
if (measuringCabinet.meteringDevice==null)
{
//安装电能表
if(LiveSceneManager.Instance.currentTool!=null && LiveSceneManager.Instance.currentTool.GetComponent<Device_DirectAccessElectricEnergyMeteringDevice>()!=null)
{
measuringCabinet.meteringDevice = LiveSceneManager.Instance.currentTool.GetComponent<Device_DirectAccessElectricEnergyMeteringDevice>();
measuringCabinet.meteringDevice.Add();
//接线关联螺丝
measuringCabinet.SetLineScrew();
}
}
else
{
//拆下电能表
measuringCabinet.meteringDevice.Remove();
//情况接线关联螺丝
measuringCabinet.ClearLineScrew();
}
}
}
}
}
}