So far I was using tags to specify with which object there will be interaction, but I wonder if I can use for example SerializeField for that?
The way I’m doing it so far:
void OnTriggerEnter2D(Collider2D collision)
{
if (collision.CompareTag("Trigger"))
{
trigger = collision.gameObject.GetComponent<TriggerScript>();
trigger.switcher = 1;
Destroy(gameObject);
}
}
Is there any way to use something like SerializeField:
[SerializeField]
private GameObject Trigger;
?
Baste
2
You could, but then you’d only care about interactions with a single gameobject:
void OnTriggerEnter2D(Collider2D collider)
{
if (collider.gameObject == Trigger)
{
Which might be what you want?
You could also just check if the component you care about is there:
void OnTriggerEnter2D(Collider2D collider)
{
if (collider.TryGetComponent<TriggerScript>(out var trigger)) {
trigger.swticher = 1;
Destroy(gameObject);
}
}
1 Like
This is exactly what I needed. Thank you!
I wanted to avoid adding sooo much tags to my game.