Здравствуйте! Я создал класс Enemies, который наследует класс MonoBehaviour, далее я создал класс Guardians, который наследует класс Enemies. В классе Enemies я создал приватное поле Transform target, в котором у меня хранится позиция моего игрока. Создал свойство Vector3, который возвращает позицию моего игрока. В update класса Enemies, у меня это свойство работает(возвращает позицию игрока), но вот когда я пытаюсь передать его в дочерний класс Guardians, то ничего не передается. Подскажите пожалуйста как это можно исправить. Снизу код класса Enemies и Guardians.
Класс Enemies
public class Enemies : MonoBehaviour
{
public float speed;
public float rayDistance;
public Transform right, left;
private Transform target;
private void Start()
{
target = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>();
Physics2D.queriesStartInColliders = false;
}
private void Update()
{
Debug.Log(DistanceToPlayer + "расстояние до игрока");
Debug.Log(Target + "игрок");
}
public float DistanceToPlayer
{
get
{
return Vector2.Distance(transform.position, target.position);
}
}
public Vector3 Target
{
get
{
return target.position;
}
}
}
дочерний класс Guardians
public class Guardians : Enemies
{
private Rigidbody2D rb;
private bool movingRight = true;
void Start()
{
Physics2D.queriesStartInColliders = false;
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
Debug.Log(Target);
}
private void Angry()
{
transform.position = Vector2.MoveTowards(transform.position,Target, speed * Time.deltaTime * 1.5f);
}
}
Выдает ошибку.
Но в классе Enemies все выводится.