Я пишу свой игровой движок, используя компонентный подход, и есть 3 вопроса:
1) Давайте представим, что у нас есть 2 объекта — орк и пуля, кто должен справляться со столкновением между ними? Пуля с миниатюрой?
2) Более сложный вопрос похож на первый — кто должен обрабатывать столкновения … например … между orc1 и orc2? который из?
3) Пуля обнаружила столкновение и хочет уничтожить себя, как она должна это сделать? Прав ли я, если скажу, что уничтожение само по себе не является хорошим подходом?
Я был бы склонен думать, что ни один такой объект не должен владеть этим. Это будет означать, что каждый объект обладает знанием любого другого объекта, который не подходит.
Я вижу это как проблему, которая должна быть решена Environment
который, вероятно, владеет глобальным списком объектов и, следовательно, может создавать и удалять их.
Других решений пока нет …