![]() |
Цитата:
Код AS3:
|
Tails, я ещё полюбопытствую. В твоём примере есть класс GameData, который, как я понял, затягивает из json все справочные данные игры: и юниты, и атаки, и типы атак. На больших проектах ты так же делаешь - один пухлый справочник всех статических данных, который хранит и выдаёт все списки, или уже как-то разделяешь?
|
Я выносил в GameData все статичные данные игры, не изменяемые во время выполнения. А если и делить, то как? И зачем? Динамические данные (изменяемые в ходе игры) у меня были в объекте World. Вообще, я думаю, что лучше хранить абсолютно все данные в одном месте и изменяемые и не изменяемые (В идеале).
|
Не знаю, поэтому и спрашиваю. :) Можно пофантазировать, что а) данный класс будет слишком раздутым, так что в нём будет тяжело ориентироваться, б) объём загружаемой и хранимой инфо будет слишком большим с т.з. ресурсов системы и, возможно, в) над различными аспектами игры трудятся разные люди в команде, поэтому им удобнее иметь свои справочники, а не делить один общий.
И если у тебя все справочники живут вместе, зачем тебе наследовать классы парсеров? Ты в одном из предыдущих сообщений писал, что по этой причине предпочитаешь не реализовывать парсер как "статический" класс. Я правильно понимаю, что парсер - это у тебя такая огромная простыня с кол-вом методов по кол-ву классов-листов? |
Цитата:
Цитата:
Мой гоблин в рантайме: id, unitID, life - Не более 16 байт. (4 + 4 + 8) Гоблин по принципу - "объект сам себе режисёр": Содержит текущие данные, копию его статичных данных (Имя юнита, например) и данные всей цепочки наследования + EventDispatcher. Потребление памяти будет явно в несколько раз больше. Цитата:
Цитата:
Цитата:
|
Исчерпывающе, спасибо.
Цитата:
Кстати, намотал на ус твою мысль о рисках ошибиться, возникающих при обращении к данным json в рантайме. С другой стороны, я уже понимаю, что в полной мере реализовать описанную тобой модель работы со всеми данными игры проблематично, при всей красоте и заманчивости. Практическая проблема заключается в том, что мне приходится хранить в хэшах непосредственно классы. Так как зачастую создаваемые объекты - это разные наследники одного базового класса. Код в классе-хранителе справочной инфо выглядит так: Код AS3:
|
| Часовой пояс GMT +4, время: 19:56. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.