TaiZhouChangChu/Assets/Script/LH/FirstControlCheck.cs

109 lines
3.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FirstControlCheck : MonoBehaviour
{
private bool check = false;
private bool checkAqm = false;
private Ray ray;
private RaycastHit hit;
private Camera camera;
public RectTransform uiAqm;
private GameObject tempShowObj;
private GameObject tempHideObj;
// Start is called before the first frame update
void Start()
{
camera = this.GetComponent<Camera>();
OpenCheckAQM();
}
// Update is called once per frame
void Update()
{
if (check)
{
ray = camera.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
if (checkAqm)
{
if (hit.collider.gameObject.tag == "AQM")
{
uiAqm.gameObject.SetActive(true);
uiAqm.position = new Vector3(Input.mousePosition.x - uiAqm.sizeDelta.x / 2, Input.mousePosition.y - uiAqm.sizeDelta.y / 2, 0);
}
else
{
uiAqm.gameObject.SetActive(false);
}
}
if (Input.GetMouseButtonDown(0))
{
switch (hit.collider.gameObject.tag)
{
case "CanHide":
if (tempHideObj)
{
tempHideObj.SetActive(false);
check = false;
}
break;
case "HideAndShow":
GameMannage.instance.WuziChangeState();
break;
case "CanRotate":
if (tempHideObj)
{
hit.transform.localEulerAngles = new Vector3(hit.transform.localEulerAngles.x, hit.transform.localEulerAngles.y + 90, hit.transform.localEulerAngles.z);
}
break;
case "AQM":
for (int i = 0; i < hit.transform.parent.childCount; i++)
{
hit.transform.parent.GetChild(i).GetComponent<BoxCollider>().enabled = false;
}
hit.collider.transform.parent.GetComponent<TaskModel>().isComplete = true;
hit.collider.gameObject.SetActive(false);
uiAqm.gameObject.SetActive(false);
checkAqm = false;
check = false;
break;
}
}
}
}
}
public void StartCheck(GameObject hideTarget)
{
check = true;
tempHideObj = hideTarget;
}
public void StartCheck(GameObject hideTarget,GameObject showTarget)
{
check = true;
tempHideObj = hideTarget;
tempShowObj = showTarget;
}
public void OpenCheck()
{
check = true;
}
public void OpenCheckAQM()
{
check = true;
checkAqm = true;
}
}