Я нахожусь в процессе создания игры, и в этом процессе я столкнулся с небольшой проблемой.
У меня много различных типов игровых элементов.Все они имеют тип Entity
.
. Существует много типов сущностей, в том числе видимых, которые необходимо нарисовать на экране.Эти сущности имеют тип VisibleEntity
, который расширяет Entity
.
. Вот так у меня есть много разных иерархических типов для элементов в игре.
Мой вопрос такой:
Какая структура данных имеет наилучшую сложность во время выполнения при выдаче запросов следующих типов?
1) получить объекты типа Entity
2) получить объекты типа VisibleEntity
3) получить объекты типа SomeSpecificGameObject
. Тривиальное решение состоит в том, чтобы сохранить их все в списке и перебрать их все, и, если они относятся к указанному типу, добавитьих в список, который должен быть возвращен.
Очевидно, что это невозможно, когда вычисления выполняются в каждом кадре для определенных элементов на экране.
Каков наилучший способ отслеживатьвсего этого?
Я ценю любой ответ!