Question by
Calamar1e · Apr 04, 2021 at 09:47 PM ·
setactiveontriggerexit
onTriggerEnter triggering when setactive is false
Code: using System.Collections; using System.Collections.Generic; using UnityEngine;
public class ButtonController : MonoBehaviour
{
public bool canBePressed;
public KeyCode keyToPress;
private GameManage gameManage;
public GameObject[] effects;
// Start is called before the first frame update
void Start()
{
gameManage = FindObjectOfType<GameManage>();
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(keyToPress))
{
//gameManage.Hit();
if (canBePressed)
{
gameObject.SetActive(false);
//GameManage.instance.Hit();
if (Mathf.Abs(transform.position.x) > 0.5f)
{
Debug.Log("Hit");
GameManage.instance.normalHit();
Instantiate(effects[0], transform.position, effects[0].transform.rotation);
}
else if (Mathf.Abs(transform.position.x) > 0.25f)
{
Debug.Log("Good");
GameManage.instance.goodHit();
Instantiate(effects[1], transform.position, effects[1].transform.rotation);
}
else
{
if (GameManage.instance.currentMultiplier != 4)
{
Instantiate(effects[2], transform.position, effects[2].transform.rotation);
Debug.Log("Perfect!");
GameManage.instance.PerfectHit();
}
else if (GameManage.instance.currentMultiplier == 4)
{
Instantiate(effects[2], transform.position, effects[2].transform.rotation);
Debug.Log("Perfect!");
GameManage.instance.PerfectHit();
}
}
}
}
}
private void OnTriggerEnter2D(Collider2D other)
{
if (other.tag == "Note")
{
canBePressed = true;
}
}
private void OnTriggerExit2D(Collider2D other)
{
if (other.tag == "Activator")
{
//gameManage.Missed();
canBePressed = false;
GameManage.instance.Missed();
gameObject.SetActive(false);
}
}
}
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220613031754im_/https://answers.unity.com/themes/thub/images/avi.jpg)