ShanxiKnowledgeBase/SXElectricityFaultA&E/Assets/Seal.cs

145 lines
4.4 KiB
C#

using DefaultNamespace.ProcessMode;
using MotionFramework;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 盒装封印
/// </summary>
public class Seal : MonoBehaviour
{
[Header("盒装封印")]
/// <summary>
/// 盒装封印
/// </summary>
public GameObject SealObj;
[Header("流程结束image")]
/// <summary>
/// 流程结束image
/// </summary>
public Image EndOfProcessImage;
/// <summary>
/// 透明盖子碰撞
/// </summary>
// public BoxCollider SparentoverCol;
[Header("左边柜门")]
/// <summary>
/// 左边柜门
/// </summary>
public GameObject DoorLatch;
[Header("柜门box碰撞")]
/// <summary>
/// 柜门box碰撞
/// </summary>
public BoxCollider guimenbox;
[Header("柜门卡栓碰撞")]
/// <summary>
/// 柜门卡栓碰撞
/// </summary>
public BoxCollider guimenkashuan;
[Header("柜门上的新封印")]
/// <summary>
/// 柜门上的新封印
/// </summary>
public GameObject NewFengy;
[Header("透明盖子上的封印")]
/// <summary>
/// 透明盖子上的封印
/// </summary>
public GameObject[] parentoverSeal;
[Header("新集中器上封印")]
/// <summary>
/// 新集中器上封印
/// </summary>
public GameObject[] Sealcol;
[Header("集线器封印上box碰撞体")]
/// <summary>
/// 集线器封印上box碰撞体
/// </summary>
public BoxCollider[] sealbcl;
[Header("判断封印盒子是否在手上")]
/// <summary>
/// 判断封印盒子是否在手上
/// </summary>
bool isbox = true;
// Start is called before the first frame update
void Start()
{
sealbcl[0].GetComponent<BoxCollider>().enabled = true;
sealbcl[1].GetComponent<BoxCollider>().enabled = true;
MotionEngine.GetModule<AnimationProcessManager>().OnCompleteEvent += CompleteEvent;
}
// Update is called once per frame
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 == "集中器_封印_L碰撞")
{
Sealcol[0].gameObject.SetActive(true);
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
}
if (hit.collider.gameObject.name == "集中器_封印R碰撞")
{
Debug.Log(hit.collider.gameObject.name);
Sealcol[1].gameObject.SetActive(true);
DoorLatch.GetComponent<BoxCollider>().enabled = true;
//SparentoverCol.GetComponent<BoxCollider>().enabled = true;
Debug.Log(hit.collider.gameObject.name); MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
}
if (hit.collider.gameObject.name == "透明盖子封印碰撞R")
{
if (isbox)
{
isbox = true;
parentoverSeal[0].gameObject.SetActive(true);
}
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
}
if (hit.collider.gameObject.name == "透明盖子封印碰撞L")
{
if (isbox)
{
isbox = true;
parentoverSeal[1].gameObject.SetActive(true);
guimenkashuan.enabled = true;
//isbox = false;
}
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
}
if (hit.collider.gameObject.name == "柜门卡栓")
{
NewFengy.gameObject.SetActive(true);
//fengy.transform.localPosition = new Vector3(0.6371536f, 0.02661133f, -0.01525164f);
MotionEngine.GetModule<AnimationProcessManager>().HandleClick(hit.collider.gameObject.name);
}
}
}
}
private void CompleteEvent()
{
EndOfProcessImage.gameObject.SetActive(true);
Debug.Log("流程结束");
}
}