89 lines
3.2 KiB
C#
89 lines
3.2 KiB
C#
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
|
||
}
|
||
}
|