Всем привет! Возник вопрос в Unity3d по классам... Необходимо реализовать такую систему: имеется родительский класс, который содержит методы и переменные и есть дочерние классы, которые наследуют этот класс. Некоторые дочерние классы могут переопределять методы и т.п., с этим и так понятно. Нужно, чтобы можно сгруппировать игровые объекты, схожие по своему типу в одно целое, т.е. родительский класс формирует стандартное поведение объекта данного типа, а дочерние представляют уже определенный объект и дополняют его поведение в случае необходимости. Стоит задача, например, при столкновении игрока с таким объектом правильно использовать его класс. Получить компонент по имени можно, с этим нет проблем, но проблема возникает, когда нужно кэшировать компоненты, ведь по сути классы могут быть разные и лишь родитель тот же.
Т.е. при столкновении с объектом или при старте мне нужно кэшировать компоненты классов в массив, только я не могу задать нужный тип для массива, т.е. класс можно сказать неизвестен. Я пробовал использовать тип object вместо прямого определения типа, но тут возникает ошибки, если я пытаюсь обратится к методам, которые неизвестны для него, например, метод execute будет неизвестен, т.к. тип object не определяет это. С этим понятно, но как можно такое максимально просто сделать? Ведь задача я думаю актуально не только в моей примере. Искал достаточно долго в интернете, находил зацепки в рамках MethodInfo, но также говорили, что это влияет сильно на производительность, да и показалось мне это слишком затратным решением, можно просить Вас советов?