YanCheng_Metrology/Assets/Scripts/CXX/Tools/Tool_Screwdriver.cs

107 lines
3.2 KiB
C#

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 螺丝刀
/// </summary>
public class Tool_Screwdriver : Tool_Base
{
/// <summary>
/// 正在使用
/// </summary>
[HideInInspector]
public bool isUseing;
/// <summary>
/// 开始安装螺丝
/// </summary>
/// <param name="screw"></param>
public void Install(Tool_Screw screw)
{
if (!screw.isInstall)
{
isUseing = true;
screw.BeInstalled(this);
}
}
/// <summary>
/// 开始卸载螺丝
/// </summary>
/// <param name="screw"></param>
public void UnInstall(Tool_Screw screw)
{
if (screw.isInstall)
{
isUseing = true;
screw.BeUnInstalled(this);
}
}
private void Update()
{
if (Input.GetMouseButtonDown(0) && !isUseing)
{
//点击螺丝验电
Ray tmpray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(tmpray, out RaycastHit hit))
{
//螺丝
Tool_Screw ts = hit.transform.GetComponent<Tool_Screw>();
if (ts != null)
{
//固定螺丝操作限制
if (ts.id == "电能表盖子固定螺丝1")
{
if (!SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_seal_Left.isCut)
{
Debug.Log("封印未剪断");
return;
}
if(SiteManager.instance.measuringCabinet.meteringDevice.cover.isOpen)
{
Debug.Log("盖子打开的");
return;
}
}
if (ts.id == "电能表盖子固定螺丝2")
{
if (!SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_seal_Right.isCut)
{
Debug.Log("封印未剪断");
return;
}
if (SiteManager.instance.measuringCabinet.meteringDevice.cover.isOpen)
{
Debug.Log("盖子打开的");
return;
}
}
//接线螺丝要先点击检查接线
if (SiteManager.instance.measuringCabinet.meteringDevice.jieXian_screws.Contains(ts) && !SiteManager.instance.measuringCabinet.check_JieXian.isChecked)
{
return;
}
if ((triggerAction == null ? 0 : triggerAction.Invoke(ts.triggerName, true)) == 0)
{
if (ts.isInstall)
{
UnInstall(ts);
}
else
{
Install(ts);
}
}
}
}
}
}
}