В настоящее время я работаю над игровым движком на основе компонентов, написанным на С++. Все компоненты наследуются от базового класса компонента. Все компоненты в сцене преобразуются в вектор компонентов, где их можно повторять и Update()
, и их можно вызывать.
Я пытаюсь придумать систему связи для компонентов. Если у меня есть функция с именем GetComponent<Type>()
Like Unity, я смогу вернуть компонент из того, что было до того, как он был преобразован.
Итак, в основном у меня есть компонент с улучшенным преобразованием, и я хочу изменить его, чтобы он был его исходным классом, а затем вернуть его через функцию (как класс, которым он был раньше). Это возможно? Если бы это было возможно, как компонент узнал бы, каким классом он был раньше?
Есть ли какие-либо примеры этого, на которых я могу учиться?