ShanxiKnowledgeBase/SXElectricityInformationAcq.../Assets/JunctionBox.cs

89 lines
3.2 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 DefaultNamespace.ProcessMode;
using DG.Tweening;
using MotionFramework;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class JunctionBox : MonoBehaviour
{
/// <summary>
/// 透明盖
/// </summary>
public Transform TransparentlidObj;
/// <summary>
/// 端子排上所有封印和螺丝
/// </summary>
public GameObject[] allObjects;
/// <summary>
/// 是否盖上
/// </summary>
bool iscover;
void Start()
{
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
bool raycast = Physics.Raycast(ray, out hit);
if (raycast)
{
//if (hit.collider.gameObject.name == "盖_透明外壳")
//{
// TransparentlidObj.transform.DOLocalMove(new Vector3(0, -0.0914f, 0),2f);
// ////判断盖子是否打开
// }
if (!iscover)
{
//iscover = true;
switch (hit.collider.gameObject.name)
{
case "接线盒纵向滑块001":
hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.06131744f, -0.0075f, 0.0089f), 1f);
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
break;
case "接线盒纵向滑块002":
hit.collider.gameObject.transform.DOLocalMove(new Vector3(0.02013969f, -0.0075f, 0.0089f), 1f);
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
break;
case "接线盒纵向滑块003":
hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.02001452f, -0.0075f, 0.0089f), 1f);
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
break;
case "接线盒纵向滑块004":
hit.collider.gameObject.transform.DOLocalMove(new Vector3(-0.06075525f, -0.0075f, 0.0089f), 1f);
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
break;
}
}
}
}
if (AreAllObjectsHidden())
{
TransparentlidObj.transform.DOLocalMove(new Vector3(0, -0.0914f, 0), 2f);
}
}
public bool AreAllObjectsHidden()
{
// 检查每个对象的激活状态
foreach (GameObject obj in allObjects)
{
if (obj.activeInHierarchy) // 使用 activeInHierarchy 如果你想检查对象是否在其父级结构中被激活
{
return false; // 如果找到任何一个激活的对象返回false
}
}
return true; // 如果所有对象都未激活返回true
}
}