Какую структуру данных лучше всего использовать для запросов на основе типов?

Я в процессе создания игры, и в этом процессе я столкнулся с небольшой проблемой.

У меня много разных типов игровых элементов. Все они относятся к типу Entity .

Есть много типов Сущностей, в том числе те, которые видны и должны быть нарисованы на экране. Эти объекты относятся к типу VisibleEntity , который расширяет Entity .

Таким образом, у меня есть много разных иерархических типов элементов в игре.

У меня такой вопрос:

Какая структура данных имеет наилучшую сложность во время выполнения при выполнении следующих типов запросов?

1) получить объекты типа Entity

2) получить объекты типа Entity

2) получить объекты type VisibleEntity

3) получить объекты типа SomeSpecificGameObject

Тривиальное решение состоит в том, чтобы сохранить их все в списке и перебрать их все, и, если они относятся к указанному типу, добавить их в список, который должен быть возвращен.

Очевидно, это невозможно, когда вычисление выполняется в каждом кадре для определенных элементов на экране.

Как лучше всего отслеживать все это?

Я ценю любой ответ!

0
задан James Montagne 29 December 2011 в 03:15
поделиться