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

На главную


common.GetAddonRelatedTextGroup( sysGroup, optional )

Возвращает группу связанных с аддоном текстовых ресурсов. Группа представляет собой userdata (RelatedTextsLua).

-- библиотека:
common

-- объявление:
function GetAddonRelatedTextGroup( sysGroup, optional )

-- параметры:
sysGroup: string - идентификатор группы
optional: boolean or nil - если true, то отсутствие искомой группы не считается ошибкой (по умолчанию false)

-- возвращаемые значения:
RelatedTextsLua or nil - группа текстов или nil в случае если группа не найдена

-- пример:
--------------------------------------------------------------------------------
-- Text caches
--------------------------------------------------------------------------------
do
	--------------------------------------------------------------------------------
	local _textDefaultGroupId = "Common"
	local _dummyGroup = { HasText = function() return false end }
	local _textAddonGroups = {}
	local _textAddonCache = {}
	local _textStateGroups = {}
	local _textStateCache = {}
	--------------------------------------------------------------------------------
	local function GetGroupText( group, groupCache, sysName, optional )
		local result = groupCache[ sysName ]
		if result == nil then
			local hasText = group:HasText( sysName )
			if hasText then
				result = group:GetText( sysName )
			elseif optional then
				result = false
			else
				result = GetEWs()
				---BEGIN_DEBUG---
				local _, sysGroup = table.search( _textAddonGroups, group )
				if not sysGroup then
					_, sysGroup = table.search( _textStateGroups, group )
				end
				if group == _dummyGroup then
					LogError( string.format( "Requested text [%s] from non-existent group [%s]", tostring( sysName ), tostring( sysGroup ) ) )
				else
					LogError( string.format( "Requested non-existent text [%s] from group [%s]", tostring( sysName ), tostring( sysGroup ) ) )
				end
				---END_DEBUG---
			end
			groupCache[ sysName ] = result
		end
		return result
	end
	--------------------------------------------------------------------------------
	-- Получить текст sysName из группы аддона sysGroup (или Common если nil)
	-- Если задано optional то отсутствие текста не считается ошибкой (группа должна существовать)
	function GetAddonText( sysGroup, sysName, optional )
		sysGroup = sysGroup or _textDefaultGroupId
		local group = _textAddonGroups[ sysGroup ]
		if not group then
			group = common.GetAddonRelatedTextGroup( sysGroup, true ) or _dummyGroup
			_textAddonGroups[ sysGroup ] = group
			_textAddonCache[ sysGroup ] = {}
		end
		return GetGroupText( group, _textAddonCache[ sysGroup ], sysName, optional )
	end
	--------------------------------------------------------------------------------
	-- Получить текст sysName из группы стейта sysGroup (или Common если nil)
	-- Если задано optional то отсутствие текста не считается ошибкой (группа должна существовать)
	function GetStateText( sysGroup, sysName, optional )
		sysGroup = sysGroup or _textDefaultGroupId
		local group = _textStateGroups[ sysGroup ]
		if not group then
			group = common.GetStateRelatedTextGroup( sysGroup, true ) or _dummyGroup
			_textStateGroups[ sysGroup ] = group
			_textStateCache[ sysGroup ] = {}
		end
		return GetGroupText( group, _textStateCache[ sysGroup ], sysName, optional )
	end
	--------------------------------------------------------------------------------
end
--------------------------------------------------------------------------------

См. описание группы текстовых ресурсов: RelatedTextsLua

Связанные страницы: "CategoryLuaApi" "CategoryRelatedResources"

CategoryRelatedResources
FunctionCommonGetAddonRelatedSoundGroup
FunctionCommonGetAddonRelatedTextGroup
FunctionCommonGetAddonRelatedTextureGroup
FunctionCommonGetAddonRelatedWidgetGroup
FunctionCommonGetStateRelatedSoundGroup
FunctionCommonGetStateRelatedTextGroup
FunctionCommonGetStateRelatedTextureGroup
FunctionCommonGetStateRelatedWidgetGroup
FunctionRelatedSoundsLuaGetList
FunctionRelatedSoundsLuaGetSound
FunctionRelatedSoundsLuaHasSound
FunctionRelatedTextsLuaGetList
FunctionRelatedTextsLuaGetText
FunctionRelatedTextsLuaHasText
FunctionRelatedTexturesLuaGetList
FunctionRelatedTexturesLuaGetTexture
FunctionRelatedTexturesLuaHasTexture
FunctionRelatedWidgetsLuaGetList
FunctionRelatedWidgetsLuaGetWidget
FunctionRelatedWidgetsLuaHasWidget
RelatedResources
RelatedSoundsLua
RelatedTextsLua
RelatedTexturesLua
RelatedWidgetsLua


CategoryLuaApi CategoryFunction CategoryRelatedResources

На главную