You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
4.3 KiB
162 lines
4.3 KiB
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Experimental.VFX;
|
|
using UnityEngine.UI;
|
|
|
|
public class DebugUI : MonoBehaviour
|
|
{
|
|
public bool debugMode = true;
|
|
public GameObject debugUI;
|
|
public VisualEffect vfx;
|
|
public GameObject baseEmitter;
|
|
public GameObject target;
|
|
public GameObject emitter;
|
|
public GameObject button;
|
|
public float growingSpeed;
|
|
public string stat = "wait";
|
|
|
|
float spawn_t;
|
|
float total_t;
|
|
float lerp_val;
|
|
Vector3 final_pos;
|
|
bool showObject;
|
|
|
|
void Start()
|
|
{
|
|
stat = "wait";
|
|
debugUI.SetActive(debugMode);
|
|
button.GetComponent<Text>().text = stat;
|
|
spawn_t = 0;
|
|
total_t = 0;
|
|
lerp_val = 0;
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
if (Input.GetKeyDown(KeyCode.A))
|
|
{
|
|
debugMode = !debugMode;
|
|
debugUI.SetActive(debugMode);
|
|
if (debugMode)
|
|
{
|
|
showObject = true;
|
|
setObjectVisible(showObject);
|
|
} else
|
|
{
|
|
showObject = false;
|
|
setObjectVisible(showObject);
|
|
}
|
|
}
|
|
else if (debugMode && Input.GetKeyDown(KeyCode.D)){
|
|
showObject = !showObject;
|
|
setObjectVisible(showObject);
|
|
}
|
|
|
|
if(stat == "growing")
|
|
{
|
|
total_t += Time.deltaTime;
|
|
lerp_val += growingSpeed;
|
|
if(lerp_val >= 1)
|
|
{
|
|
lerp_val = 1;
|
|
stat = "completed";
|
|
vfx.SendEvent("Completed");
|
|
setButtonInteractable(true);
|
|
button.GetComponent<Text>().text = stat;
|
|
Debug.Log(stat);
|
|
}
|
|
}
|
|
else if(stat == "vanishing")
|
|
{
|
|
vfx.SetBool("isEnteringVanish", false);
|
|
lerp_val -= growingSpeed;
|
|
if(lerp_val <= 0)
|
|
{
|
|
lerp_val = 0;
|
|
stat = "wait";
|
|
setButtonInteractable(true);
|
|
button.GetComponent<Text>().text = stat;
|
|
Debug.Log(stat);
|
|
}
|
|
}
|
|
|
|
lerp_val = Mathf.Clamp(lerp_val, 0, 1);
|
|
vfx.SetFloat("_LerpVal", lerp_val);
|
|
|
|
|
|
Vector3 base_pos = baseEmitter.GetComponent<Transform>().position;
|
|
Vector3 target_pos = target.GetComponent<Transform>().position;
|
|
|
|
emitter.GetComponent<Transform>().position = Vector3.Lerp(base_pos, target_pos, lerp_val);
|
|
/*
|
|
if (debugMode && Input.GetMouseButtonDown(0))
|
|
{
|
|
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
|
|
|
|
GameObject selected_obj = null;
|
|
|
|
if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hit, 200.0f))
|
|
{
|
|
selected_obj = hit.collider.gameObject;
|
|
Debug.Log("hit!!" + selected_obj.name);
|
|
}
|
|
|
|
if(selected_obj != null)
|
|
{
|
|
selected_obj.GetComponent<Renderer>().material.color = new Color(255, 100, 100);
|
|
}
|
|
}
|
|
*/
|
|
}
|
|
|
|
public void switchStat()
|
|
{
|
|
if(stat == "wait")
|
|
{
|
|
enterGrow();
|
|
}
|
|
else if(stat == "completed")
|
|
{
|
|
enterVanish();
|
|
}
|
|
|
|
button.GetComponent<Text>().text = stat;
|
|
}
|
|
|
|
public void enterGrow()
|
|
{
|
|
setButtonInteractable(false);
|
|
spawn_t = total_t;
|
|
stat = "growing";
|
|
vfx.SendEvent("MouseDown");
|
|
vfx.SetBool("growing", true);
|
|
Debug.Log(stat);
|
|
}
|
|
|
|
public void enterVanish()
|
|
{
|
|
setButtonInteractable(false);
|
|
vfx.SetBool("isEnteringVanish", true);
|
|
stat = "vanishing";
|
|
vfx.SendEvent("MouseUp");
|
|
vfx.SetBool("growing", false);
|
|
Debug.Log(stat);
|
|
}
|
|
|
|
private void setObjectVisible(bool isShowed)
|
|
{
|
|
baseEmitter.GetComponent<Renderer>().enabled = isShowed;
|
|
target.GetComponent<Renderer>().enabled = isShowed;
|
|
emitter.GetComponent<Renderer>().enabled = isShowed;
|
|
}
|
|
|
|
private void setButtonInteractable(bool _stat)
|
|
{
|
|
//GameObject g = GameObject.Find("Grow");
|
|
//GameObject v = GameObject.Find("Vanish");
|
|
//g.GetComponent<Button>().interactable = _stat;
|
|
button.GetComponentInParent<Button>().interactable = _stat;
|
|
}
|
|
}
|
|
|