130 lines
4.0 KiB
C#
130 lines
4.0 KiB
C#
using DG.Tweening;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using DefaultNamespace.ProcessMode;
|
|
using MotionFramework;
|
|
using UnityEngine;
|
|
using Unity.VisualScripting;
|
|
|
|
/// <summary>
|
|
/// 验电笔
|
|
/// </summary>
|
|
public class ElectricCheckPen : MonoBehaviour
|
|
{
|
|
[Header("剥线钳物体")]
|
|
/// <summary>
|
|
/// 验电笔物体
|
|
/// </summary>
|
|
public GameObject ElectricCheckPenOBJ;
|
|
|
|
[Header("验电笔插座验电处")]
|
|
/// <summary>
|
|
/// 验电笔插座验电处
|
|
/// </summary>
|
|
public Transform ElectricalInspectionOfficeTrans;
|
|
|
|
[Header("验电笔表面材质")]
|
|
/// <summary>
|
|
/// 验电笔表面材质
|
|
/// </summary>
|
|
public Material ElectricCheckPenMater;
|
|
|
|
[Header("判断")]
|
|
public bool useColorOn = true; // 控制使用哪种颜色的布尔值
|
|
|
|
/// <summary>
|
|
/// 是否在手上
|
|
/// </summary>
|
|
bool issocket;
|
|
|
|
|
|
void Start()
|
|
{
|
|
ElectricCheckPenMater.SetFloat("_SwitchOfEmi", 0);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 电箱不带电
|
|
/// </summary>
|
|
void Update()
|
|
{
|
|
if (Input.GetMouseButtonDown(0))
|
|
{//Camera.transform.forward
|
|
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
|
|
RaycastHit hit;
|
|
bool raycast = Physics.Raycast(ray, out hit);
|
|
if (raycast)
|
|
{
|
|
|
|
if (hit.collider.gameObject.name == "箱体")
|
|
{
|
|
ElectricCheckPenOBJ.gameObject.transform.SetParent(null);
|
|
ElectricCheckPenOBJ.gameObject.transform.DOLocalMove(new Vector3(303.038f, 2.655f, 163.822f), 2f);
|
|
Debug.Log(hit.collider.gameObject.name);
|
|
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
|
|
}
|
|
if (hit.collider.gameObject.name == "插座")
|
|
{
|
|
ElectricCheckPenOBJ.gameObject.transform.SetParent(null);
|
|
StartCoroutine(socket());
|
|
//Warninglight();
|
|
Debug.Log(hit.collider.gameObject.name);
|
|
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 插座带电
|
|
/// </summary>
|
|
private void OnMouseDown()
|
|
{
|
|
if (gameObject.name == "插座")
|
|
{
|
|
Warninglight();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验电笔点击插座
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
IEnumerator socket()
|
|
{
|
|
ElectricCheckPenOBJ.gameObject.transform.DOLocalMove(ElectricalInspectionOfficeTrans.gameObject.transform.localPosition, 1f).OnComplete(() =>
|
|
{
|
|
//ElectricCheckPenOBJ.gameObject.transform.DOLocalRotate(new Vector3(20.78f, 72.47f, 171.503f), 1.5f).OnComplete(() =>
|
|
//{
|
|
Debug.Log("123");
|
|
Warninglight();
|
|
//});
|
|
});
|
|
yield return null;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验电笔屏幕颜色闪烁
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
async void Warninglight()
|
|
{
|
|
ElectricCheckPenMater.SetFloat("_SwitchOfEmi", 1);
|
|
//ElectricCheckPenMater.SetColor("Int_E",Color.red);
|
|
//ElectricCheckPenSpr.color = new Color(255, 0, 0);
|
|
await Task.Delay(TimeSpan.FromSeconds(0.5f));
|
|
ElectricCheckPenMater.SetFloat("_SwitchOfEmi", 0);
|
|
//ElectricCheckPenMater.SetColor("Int_E", Color.white);
|
|
//ElectricCheckPenSpr.color = new Color(166, 183, 213);
|
|
await Task.Delay(TimeSpan.FromSeconds(0.5f));
|
|
ElectricCheckPenMater.SetFloat("_SwitchOfEmi", 1);
|
|
//ElectricCheckPenMater.SetColor("Int_E", Color.red);
|
|
//ElectricCheckPenSpr.color = new Color(255, 0, 0);
|
|
await Task.Delay(TimeSpan.FromSeconds(0.5f));
|
|
ElectricCheckPenMater.SetFloat("_SwitchOfEmi", 0);
|
|
//ElectricCheckPenMater.SetColor("Int_E", Color.white);
|
|
//ElectricCheckPenSpr.color = new Color(166, 183, 213);
|
|
}
|
|
}
|