GetPlayerColorTexture

A small utility function to get the PlayerColor FilePath of a player, the function respects ally-enemy color mode and changed player colors. Might be of use in custom UI code. Has a Lua and jass version.
Was ported from the code section https://www.hiveworkshop.com/threads/getplayercolortexture.349480/
Lua:
--By Tasyen
---GetPlayerColorTexture
---@param player player
---@param enforcePlayerColor? boolean  (true) ignore enemy ally color mode
---@return string
function GetPlayerColorTexture(player, enforcePlayerColor)
    -- normal mode
    if GetAllyColorFilterState() == 0 or enforcePlayerColor then
        if GetHandleId(GetPlayerColor(player)) < 10 then
            return "ReplaceableTextures\\TeamColor\\TeamColor0"..GetHandleId(GetPlayerColor(player))
        else
            return "ReplaceableTextures\\TeamColor\\TeamColor"..GetHandleId(GetPlayerColor(player))
        end
    else
    -- enemy friend self mode
        if player == GetLocalPlayer() then
            return "ReplaceableTextures\\TeamColor\\TeamColor01"
        elseif player == Player(PLAYER_NEUTRAL_AGGRESSIVE) then
            return "ReplaceableTextures\\TeamColor\\TeamColor24"
        elseif IsPlayerAlly(player, GetLocalPlayer()) then
            return "ReplaceableTextures\\TeamColor\\TeamColor02"
        elseif IsPlayerEnemy(player, GetLocalPlayer()) then
            return "ReplaceableTextures\\TeamColor\\TeamColor00"
        else
            return "ReplaceableTextures\\TeamColor\\TeamColor00"
        end
    end
end
JASS:
function GetPlayerColorTexture takes player p, boolean enforcePlayerColor returns string
    // normal mode
    if GetAllyColorFilterState() == 0 or enforcePlayerColor then
        if GetHandleId(GetPlayerColor(p)) < 10 then
            return "ReplaceableTextures\\TeamColor\\TeamColor0" + I2S(GetHandleId(GetPlayerColor(p)))
        else
            return "ReplaceableTextures\\TeamColor\\TeamColor" + I2S(GetHandleId(GetPlayerColor(p)))
        endif
    else
    // enemy friend self mode
        if p == GetLocalPlayer() then
            return "ReplaceableTextures\\TeamColor\\TeamColor01"
        elseif p == Player(PLAYER_NEUTRAL_AGGRESSIVE) then
            return "ReplaceableTextures\\TeamColor\\TeamColor24"
        elseif IsPlayerAlly(p, GetLocalPlayer()) then
            return "ReplaceableTextures\\TeamColor\\TeamColor02"
        elseif IsPlayerEnemy(p, GetLocalPlayer()) then
            return "ReplaceableTextures\\TeamColor\\TeamColor00"
        else
            return "ReplaceableTextures\\TeamColor\\TeamColor00"
        endif
    endif
endfunction
Tags: Player, Color, Custom UI
Contents

GetPlayerColorTexture jass (Binary)

GetPlayerColorTexture lua (Binary)

Reviews
Antares
Moved resource. Approved
Top