2015-01-04 7 views
0

У меня есть два компонента, основной компонент и визуальный компонент. Основной компонент выполняет всю логику игры и выполняет все клиент-серверные вычисления. Этот компонент всегда находится на объекте, как на стороне клиента, так и на стороне сервера.Визуальный компонент, получать информацию или собирать информацию?

Тогда у меня есть визуальный компонент, который является только клиентской стороной.

Мой вопрос в том, должен ли основной компонент рассказать визуальному компоненту необходимую ему информацию и визуальный компонент полностью не знать, что основной компонент существует, или должен визуальный компонент всегда обновлять и извлекать информацию из основного компонента и иметь ядро компонент полностью не знает о существующем визуальном компоненте?

ответ

1

Самый прямой подход на мой взгляд заключается в том, что основной компонент не должен знать о визуальном компоненте. Визуальный компонент должен знать о базовом компоненте, чтобы запросить его, прослушать события, обновить его и т. Д. Таким образом, визуальный компонент можно заменить, не затрагивая основной компонент, а также система может поддерживать множество различных визуальных компонентов, если вы пойдите для многоплатформенной игры, если основной компонент (ы) также мультиплатформенны. Кроме того, важно также поддерживать слабосвязанные компоненты. Для того, чтобы легко заменить компоненты, создайте систему с начала в слабо связанном режиме.

Для вдохновения ознакомьтесь с этими замечательными отзывами о некоторых из открытых игр с открытым исходным кодом http://fabiensanglard.net/quake3/. Я считаю, что в отзывах упоминаются архитектуры каждой игры.

+0

Удивительный, спасибо :) –