Скриптовая система располагает рядом функций получения из приложения ресурсов следующих типов:
VisObject - визуальный объект, идентифицируется строкой (string), имеет тип VisObjectId
AliasVisObject - визуальный объект-обвязка (для коллекционных изданий и т.п.), идентифицируется строкой (string), имеет тип AliasVisObjectId
Text - текст, идентифицируется строкой (string), возвращается как WString
Texture - текстура, идентифицируется строкой (string), возвращается как TextureId
Sound - звук, идентифицируется строкой (string), возвращается как Sound2DId
RelatedTextsLua - группа текстовых ресурсов
RelatedTexturesLua - группа текстурных ресурсов
Пример:
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>