Показать сообщение отдельно
Старый 23.10.2018, 14:16
Appleman вне форума Посмотреть профиль Отправить личное сообщение для Appleman Найти все сообщения от Appleman
  № 36  
Ответить с цитированием
Appleman
 
Аватар для Appleman

Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
Исчерпывающе, спасибо.

Цитата:
Сообщение от Tails Посмотреть сообщение
Вы можете как угодно сделать
Будешь смеяться, но поскольку по мере развития своего проекта мои собственные познания очень активно развиваются и расширяются, я уже на сегодня имею массу разнообразных вариантов хранения справочных данных. В частности, у меня есть языковые XML файлы, несколько классов, в которых я создал и вручную заполнил такие же хэши, как у тебя из json считываются, плюс есть в порядке эксперимента вариант подгрузки и считывания из json в рантайме. В принципе все работают, то ясен пень, нужно с этим плюрализмом заканчивать.

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

С другой стороны, я уже понимаю, что в полной мере реализовать описанную тобой модель работы со всеми данными игры проблематично, при всей красоте и заманчивости. Практическая проблема заключается в том, что мне приходится хранить в хэшах непосредственно классы. Так как зачастую создаваемые объекты - это разные наследники одного базового класса. Код в классе-хранителе справочной инфо выглядит так:

Код AS3:
public static function generate (id: String) : Superclass 
{
if (!CLASSES[id]) throw ("Нет записи для id " + id);
 
var GeneratedClass: Class = CLASSES[id];
var result: Superclass = new GeneratedClass(id);
return result;
}
А дальше прямо в конструкторе класса создаваемого экземпляра записан запуск переопределяемого в наследниках метода setInitialProps(), который ломится в тот же справочник и сам заполняет нужные данному наследнику поля.
__________________
Не сломано - не чини!