Скриптовая система располагает рядом функций получения из приложения ресурсов следующих типов:
* VisObject - визуальный объект, идентифицируется строкой (string), имеет тип VisObjectId
* AliasVisObject - визуальный объект-обвязка (для коллекционных изданий и т.п.), идентифицируется строкой (string), имеет тип AliasVisObjectId
* Text - текст, идентифицируется строкой (string), возвращается как WString
* Texture - текстура, идентифицируется строкой (string), возвращается как TextureId
* Sound - звук, идентифицируется строкой (string), возвращается как Sound2DId
Пример:
local visObject = common.GetStateRelatedVisObject( "LOOT_MARK" ) if visObject then unit.SetLootMark( unitId, visObject ) end
local texture = common.GetStateRelatedTexture( "Background" )
По месту хранения ресурсы делятся на:
* стэйтовые - подключаются в описании State
<UIState> ... <visObjects href="RelatedVisObjects.xdb#xpointer(/UIRelatedVisObjects)"/> <textures href="RelatedTextures.xdb#xpointer(/UIRelatedTextures)"/> </UIState>
* ресурсы аддона - подключаются в описании аддона
<UIAddon> ... <visObjects href="RelatedVisObjects.xdb#xpointer/UIRelatedVisObjects)"/> <textures href="RelatedTextures.xdb#xpointer(/UIRelatedTextures)"/> </UIAddon>
Пример файла related visObjects:
<?xml version="1.0" encoding="UTF-8" ?> <UIRelatedVisObjects> <Items> <item> <name>LOOT_MARK</name> <resource href="Loot.(VisObjectTemplate).xdb#xpointer/VisObjectTemplate)"/> </item> </Items> </UIRelatedVisObjects>
Пример файла related textures:
<?xml version="1.0" encoding="UTF-8" ?> <UIRelatedTextures> <Items> <item> <name>Background</name> <resource href="Background.(Texture).xdb#xpointer(/Texture)"/> </item> </Items> </UIRelatedTextures>