Verifiquei tudo fiz e refiz e não entendi o porquê do erro. Não enviei tudo de cada script por que não coube.
Erro:NullReferenceException: Object reference not set to an instance of an object BossBehaviour.StartChasing () (at Assets/Scripts/Enemy/Boss/BossBehaviour.cs:118) GameManager.ActivateBossBehaviour () (at Assets/Scripts/GameManager.cs:80) BossFightTrigger.OnTriggerEnter2D (UnityEngine.Collider2D other) (at Assets/Scripts/Devices/BossFightTrigger.cs:13)
No BossBehaviour: public void StartChasing()
{
_Animator.SetBool("CanChase", true);
}
No GameManager:
[Header("Dynamic game objects")]
[SerializeField] private GameObject bossGate;
[SerializeField] private PlayerBehavior _PlayerBehaviour;
[SerializeField] private BossBehaviour _BossBehaviour;
[SerializeField] private BossFightTrigger _BossFightTrigger;
private void Awake()
{
if (Instance != null) Destroy(this.gameObject);
Instance = this;
_inputManager = new InputManager();
TotalKeys = FindObjectsOfType<CollectableKey>().Length;
_UIManager.UpdateKeysLeftText($"{KeysCollected}/{TotalKeys}");
_BossFightTrigger.OnPlayerEnterBossFight += ActivateBossBehaviour;
}
private void ActivateBossBehaviour()
{
_BossBehaviour.StartChasing();
}
No BossFightTrigger:
using System;
using UnityEngine;
[RequireComponent(typeof(BoxCollider2D))]
public class BossFightTrigger : MonoBehaviour
{
public event Action OnPlayerEnterBossFight;
private void OnTriggerEnter2D(Collider2D other)
{
if(other.CompareTag("Player"))
{
OnPlayerEnterBossFight?.Invoke();
}
}
}