using Cysharp.Threading.Tasks.Triggers; using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// 现场控制脚本 /// public class SiteManager : MonoBehaviour { public static SiteManager instance; /// /// 机柜 /// public Device_MeasuringCabinet measuringCabinet; /// /// 电能表碰撞 /// 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()!=null) { measuringCabinet.meteringDevice = LiveSceneManager.Instance.currentTool.GetComponent(); measuringCabinet.meteringDevice.Add(); //接线关联螺丝 measuringCabinet.SetLineScrew(); } } else { //拆下电能表 measuringCabinet.meteringDevice.Remove(); //情况接线关联螺丝 measuringCabinet.ClearLineScrew(); } } } } } }