# Пользовательские дополнения

На главную

## ResourceId:GetInstanceId()

Возвращает уникальный идентификатор объекта: ресурса, виджета и т.д. Реализован для всех типов ResourceId и для WidgetSafe (базовый тип для widget-ов). Уникальный идентификатор объекта имеет тип light userdata. Гарантируется, что один и тот же объект всегда имеет один и тот же уникальный идентификатор.

Замечание: для одного и того же объекта его представления в виде (обычного) идентификатора - (full) userdata - могут отличаться, т.е. один и тот же объект может представляться различными идентификаторами (с точки зрения сравнения на равенство операторами Lua).

Замечание: уникальный идентификатор - light userdata - не может быть использован для непосредственного доступа к объекту через функции Lua API. Для этого необходимо использовать его (обычный) идентификатор - (full) userdata.

    -- класс
    Метод имеется у пользовательских ресурсов и виджетов ResourceId.

    -- семантика
    function GetInstanceId( self )

    -- входные параметры:
    self: WidgetSafe (not nil) или ResourceId (not nil) - объект одного из поддерживаемых типов

    -- возвращаемое значение:
    light userdata - уникальный идентификатор или nil в случае ошибки

    -- примеры:
    local isWidgetsEqual = widget1:GetInstanceId() == widget2:GetInstanceId()
    local isSpellsEqual = spellResourceId1:GetInstanceId() == spellResourceId2:GetInstanceId()

    local index = {}
    index[widget1:GetInstanceId()] = widget1
    index[widget2:GetInstanceId()] = widget2

    function GetWidgetById( instanceId )
     return index[instanceId]
    end

    local isKnownWidget = GetWidgetById( widget:GetInstanceId() ) != nil

## BlurpSearch: CategoryLuaApi CategoryTypes

AbilityId
ActionGroupId
AliasVisObjectId
AstralRegionId
AstralSectorId
BattlegroundMarkId
BillingBonusId
BuffId
CategoryTypes
CharacterClassId
CheckRoomCategoryId
CheckRoomCollectionId
ComponentPropertyId
CurrencyCategoryId
CurrencyId
DecalObjectId
FactionId
FunctionCommonCreateValuedObject
FunctionCommonCreateValuedText
FunctionCommonGetApiType
FunctionCommonGetEmptyWstring
FunctionCommonIsEmptyWstring
FunctionCommonIsTextFiltered
FunctionCommonIsValuedObject
FunctionCommonIsValuedText
FunctionCommonIsWString
FunctionResourceIdGetInfo
FunctionResourceIdGetInstanceId
FunctionResourceIdGetPath
FunctionResourceIdIsEqual
GamePosition
Geodata
InnateStatSecondary
InstancedEventResourceId
ItemCategoryId
ItemId
LootGroupId
LuaApiTypes
LuaFullDateTime
LuaRaceClassInfoPart
LuaSexInfoPart
MapModifierId
MutationInfo
PostTypeId
QuestId
RecipeId
RelatedTextsLua
RelatedTexturesLua
RequirementsTable
ResourceId
ShipSkinId
SkillId
Sound2DId
SpellId
TextureId
TimeTableId
TypeValuedObject
TypeValuedText
TypeWidgetDesc
TypeWString
VisActionId
VisObjectId
VisualShipId
WishmasterResourceId

CategoryLuaApi CategoryFunction CategoryTypes

На главную