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

На главную


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
FunctionCommonGetStateRelatedSoundGroup
FunctionCommonGetStateRelatedTextGroup
FunctionCommonGetStateRelatedTextureGroup
FunctionRelatedSoundsLuaGetList
FunctionRelatedSoundsLuaGetSound
FunctionRelatedSoundsLuaHasSound
FunctionRelatedTextsLuaGetList
FunctionRelatedTextsLuaGetText
FunctionRelatedTextsLuaHasText
FunctionRelatedTexturesLuaGetList
FunctionRelatedTexturesLuaGetTexture
FunctionRelatedTexturesLuaHasTexture
RelatedResources
RelatedSoundsLua
RelatedTextsLua
RelatedTexturesLua


CategoryLuaApi CategoryFunction CategoryRelatedResources

На главную