Как правильно наследовать поля в C# Юнити

Я хочу понять следующее..Допустим у меня есть класс в котором масив и метод:

public class PoolManager : MonoBehaviour
{
    public List<Pool> poolOfPools = new List<Pool>();
    public Pool GetPool(string poolName)
    {
        Pool pool = null;
        for (int i = 0; i < poolOfPools.Count; i++)
        {
            if (poolName == poolOfPools[i].name)
            {
                pool = poolOfPools[i];
                return pool;
            }
        }
        return pool;
    }
}

и есть другой класс,который наследует вышеуказанный:

public class PlatformsLoader : PoolManager
{
    public string poolName = "Platforms";
    public Pool platformPool = new Pool();
    private void Start()
    {
        platformPool = GetPool(poolName);
        print(platformPool.pool.Count);
    }
}

моя цель проста:вызвав в дочернем классе нужный метод родителя,указав в параметре имя нужного элемента массива,перебрать массив и найти тот самый элемент и затем уже с ним работать. В скрипте в, родительском классе сам,массив пуст,но я его заполняю через инспектор:

введите сюда описание изображения

Но по какой то причине при обращении из дочернего класса в метод в PoolManager,он использует не массив в этом классе,элементы которого указанны в инспекторе,а экземпляр этого массива,который находится в дочернем классе.(очень некрасиво объяснил,но вот скрины объекта на котором висит дочерний класс):

введите сюда описание изображения

сами элементы масива являются классами Pool:

[System.Serializable]
public class Pool
{
    public string name;
    public GameObject poolAnchor;
    public PoolType poolType;
    public List<GameObject> pool = new List<GameObject>();
}

Я новичок,так что жду помощи.... Спасибо!!!


Ответы (1 шт):

Автор решения: Methorn

Не могу оставлять комментарий, отвечу так. Когда ты наследуешь дочерним у базового класса поля, то в дочернем они все будут равны null, т.к. поля эти переопределяются и обращаться нужно именно к его полям. У меня была похожая проблема. Я пытался переопределить методы и когда закинул дочерний класс на объект, то заметил там поля базового класса и мало того, обращение шло именно к полям дочернего класса, а не базового, т.к. я его переопределил. Правда оба скрипта лежали у меня на одном объекте, но это не меняет сути. Вот ссылка Ссылка Попробуй, может поможет. Там конечно не твоя проблема, но вроде что-то похожее.

→ Ссылка