@Lovelybit

Почему вылетает ошибка Null reference exception?

Всем привет! В упор не могу разобраться почему вылетает ошибка Null reference exception. При попытке воспользоваться в скрипте Attacker методом из PlayerController "GetDestinationOfAttack()". Анализ показал, что переменная destination в скрипте Attacker так и остается null. Просьба помочь разобраться.

Код ниже из двух скриптов (Attacker) и (PlayerController):

using UnityEngine;

public class Attacker : MonoBehaviour
{
[SerializeField] float speed = 1f;
PlayerController playerController;
Transform destination = null;

// Start is called before the first frame update
void Start()
{
playerController = GetComponent();
destination = playerController.GetDestinationOfAttack();
}
}

public class PlayerController : MonoBehaviour
{
[SerializeField] GameObject unitProducedPrefab = null;

GameObject selectedBase = null;
GameObject previousSelectedBase = null;
bool baseIsSelected = false;
public Transform destinationOfAttack = null;
GameObject castle;
GameObject selectedTarget;

// Start is called before the first frame update

// Update is called once per frame
void Update()
{

}


public void SelectBase(GameObject castle)
{
if (selectedBase != null)
{
previousSelectedBase = selectedBase;
previousSelectedBase.GetComponent().color = Color.white;
previousSelectedBase.GetComponent().SetBoolOfSelectedBase(false);
}
selectedBase = castle;
castle.GetComponent().color = Color.red;
castle.GetComponent().SetBoolOfSelectedBase(true);
baseIsSelected = true;
}

public void Attack(GameObject target)
{
if (baseIsSelected == false) return;
destinationOfAttack = target.GetComponent() as Transform;
Instantiate(unitProducedPrefab, selectedBase.transform.position, transform.rotation);
}

public Transform GetDestinationOfAttack()
{
return destinationOfAttack;
}
}
  • Вопрос задан
  • 40 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы