109 lines
3.4 KiB
C#
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;
|
|
}
|
|
}
|