Версия 3.0.7
09.10.2007
- В классе WearBlock добавлены методы GetVariants и GetInstanceVariant.
- Добавлена заготовка команды "одеть".
- В классе Character реализованы вирт.методы GetSlots и GetSlot.
- Добавлен класс ItemSlotHost.
- В классе NerealAbstract добавлены вирт.метод GetSlotHost и метод GetItemBySlot.
- В классе Character добавлено свойство SlotHost и реализован вирт.метод GetSlotHost.
11.10.2007
- В классе ItemSlotType добавлен вирт.метод GetTypes.
- В классах WearVariant и WearBlockSlots добавлен метод GetSlotTypes.
- Реализован метод поиска текущего варианта по текущим слотам.
- В классе Item метод IsExemplarOf переименован в IsInstanceOf.
- В классе Item добавлено свойство IsEquipment.
- В классе ItemSlotHost добавлены методы IsBusy и IsFree.
- В классе Item добавлен метод EquipTo.
- В классе WearBlock добавлен метод EquipAs.
- Команда "одеть" доведена до рабочего варианта.
- Добавлена команда "!предмет" и ее подкоманда "создать".
- Команда "инвентарь" подправлена для вывода только не надетых предметов.
12.10.2007
- В классе ItemSlotType добавлено свойство Name.
- Команда "осмотреть" доработана для просмотра надетых предметов.
- Добавлен метод Utility.Join.
- Команда "осмотреть" слегка оптимизирована и доработана для исключения повтора одинаковых названий слотов.
- Переделана работа с InputError для возможности выдачи ошибок со всеми возможностями шаблонов.
- В классе NerealAbstract добавлен метод GetParent<T> - получение ближайшего предка указанного типа.
- В методе NerealAbstract.GetEntities добавлена обработка параметра IteratorSource.Location.
- В классе Item добавлен метод UnequipTo.
- В классе WearBlock метод EquipAs переименован в Equip.
- В классе WearBlock добавлен метод Unequip.
- Добавлена команда "снять".
- Команда "осмотреть" доработана для просмотра возможных вариантов использования предмета.
- Если у персонажа не указана локация, то он переносится в локацию по умолчанию.
- Команда "одеть" доработана для обработки параметра, на кого надевать.
14.10.2007
- Добавлен класс ItemAlternateSlotType - альтернатива косметики для другого одиночного типа. Равнозначно ItemMultiSlotType с одним типом в списке.
- Полностью заполнена косметика в имеющемся списке типов слотов (файл itemslots.xml).
- Тип слота "рукавица" переименован в "на руке".
- Заполнен список слотов у расы "человек" (пока единственной).
- Добавлены класс SlotEffect и перечислимый тип SlotEffectType - описание воздействия между слотами.
- В классе ItemSlot добавлено свойство Effects - список воздействий на другие слоты.
- Команда "осмотреть" доработана для определения скрытых слотов и исключения их из видимого списка.
- Добавлен перехват ошибок при загрузке мира.
- В списках расовых слотов добавлены описания для различения левых и правых слотов.
- Исправлена команда "дать".
- В классе Item добавлено свойство IsClosedEquipment.
- Команда "осмотреть" не даст осмотреть предмет, если он закрыт другими.
15.10.2007
- В классе ItemSlot добавлен метод EffectExists.
- В классе NerealAbstract добавлен метод IsClosedSlot.
- Команда "осмотреть" доработана для осмотра предметов, надетых на ком-то/чем-то другом.
- В методе NerealClient.Echo параметр bool wrap заменен на EchoFlag flags.
- Добавлен флаг EchoFlag.NotLine - запрет добавления символов окончания строки в посылаемый текст.
- В классе ItemSlotDescription алиасы при десериализации и при изменении раскладываются на массив.
- В команде "одеть" реализована проверка алиасов.
- В командах "одеть" и "снять" реализована проверка блокировки слотов.
- NodeInfo и все связанные с ним имена классов, свойств и методов переименованы в PropertyInfo и подобно тому.
- В схемы данных добавлено appinfo-свойство property, при наличии которого методы GetPropertyValue/SetPropertyValue начинают работать с ним, а не напрямую с полем.
- В схемы данных добавлено appinfo-свойство nodef, при наличии которого поле не генерируется, но свойство существует.
- В классе ItemSlotDescription убрано обновление массива при пост-десериализации, ввиду того, что он обновляется непосредственно при десериализации свойства.
- В классе Item виртуальные атрибуты place и placeid сделаны реальными свойствами, теперь по ним можно делать xpath-запросы.
- В классах Material, Item, ItemStructure добавлено свойство Transparency - степень прозрачности.
- В классе Item свойство template переименовано в Template.
- В классе WearVariant добавлено свойство Transparency - прозрачен ли предмет для скрытого под ним при надевании в этом варианте.
- В классе Item добавлено свойство IsTransparencyEquipment - является ли этот предмет прозрачныым для скрытого под ним (да, если таков текущий вариант, или если прозрачность материала выше 0.3).
- В команду "осмотреть" и в метод IsClosedSlot добавлены проверки прозрачности предмета.
16.10.2007
- Классы WearBlock, WearTemplateBlock, и другие с ними связанные, вынесены в отдельный файл.
- Добавлены классы WearHostBlock и WearHostTemplateBlock.
- В классе Item реализованы вирт.методы, нужные для работы со слотами.
- В классе Serializer добавлена возможность регистрации обработчков, вызываемых после окончания десериализации.
- Во всех методах поиска по древовидным структурам (территория, шаблоны предметов, рецепты) исправлено получение элементов, чтобы не выдавало ошибку об отсутствии элемента.
- В классе ItemSlot удалено свойство Name.
- Класс Item при десериализации регистрируется на обработку только при наличии WearBlock.
- Добавлен вариант ItemPlace.ItemEquipment, назначаемый, если предмет надет на другом предмете.