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

На главную


common.GetAddonRelatedTextureGroup( sysGroup, optional )

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

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

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

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

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

-- пример:
--------------------------------------------------------------------------------
-- Texture caches
--------------------------------------------------------------------------------
do
	--------------------------------------------------------------------------------
	local _textureDefaultGroupId = "Common"
	local _dummyGroup = { HasTexture = function() return false end }
	local _textureAddonGroups = {}
	local _textureAddonCache = {}
	local _textureStateGroups = {}
	local _textureStateCache = {}
	--------------------------------------------------------------------------------
	local function GetGroupTexture( group, groupCache, sysName, optional )
		local result = groupCache[ sysName ]
		if result == nil then
			local hasText = group:HasTexture( sysName )
			if hasText then
				result = group:GetTexture( sysName )
			elseif optional then
				result = false
			---BEGIN_DEBUG---
			else
				local _, sysGroup = table.search( _textureAddonGroups, group )
				if not sysGroup then
					_, sysGroup = table.search( _textureStateGroups, group )
				end
				if group == _dummyGroup then
					LogError( string.format( "Requested texture [%s] from non-existent group [%s]", tostring( sysName ), tostring( sysGroup ) ) )
				else
					LogError( string.format( "Requested non-existent texture [%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 GetAddonTexture( sysGroup, sysName, optional )
		sysGroup = sysGroup or _textureDefaultGroupId
		local group = _textureAddonGroups[ sysGroup ]
		if not group then
			group = common.GetAddonRelatedTextureGroup( sysGroup, true ) or _dummyGroup
			_textureAddonGroups[ sysGroup ] = group
			_textureAddonCache[ sysGroup ] = {}
		end
		return GetGroupTexture( group, _textureAddonCache[ sysGroup ], sysName, optional )
	end
	--------------------------------------------------------------------------------
	-- Получить текстуру sysName из группы стейта sysGroup (или Common если nil)
	-- Если задано optional то отсутствие текстуры не считается ошибкой (группа должна существовать)
	function GetStateTexture( sysGroup, sysName, optional )
		sysGroup = sysGroup or _textureDefaultGroupId
		local group = _textureStateGroups[ sysGroup ]
		if not group then
			group = common.GetStateRelatedTextureGroup( sysGroup, true ) or _dummyGroup
			_textureStateGroups[ sysGroup ] = group
			_textureStateCache[ sysGroup ] = {}
		end
		return GetGroupTexture( group, _textureStateCache[ sysGroup ], sysName, optional )
	end
	--------------------------------------------------------------------------------
end
--------------------------------------------------------------------------------

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

Связанные страницы: "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

На главную