/* * Author: Needles * https://steamcommunity.com/profiles/76561198026257137/ */ printl("*** COLOR"); ::Color <- {}; ::Color.Color <- class { r = null; g = null; b = null; a = null; constructor(_r, _g, _b, _a) { r = _r; g = _g; b = _b; a = _a; } function _tostring() { return "" + r + " " + g + " " + b + " " + a; } function ToHex() { return ( (r.tointeger() << 0) | (g.tointeger() << 8) | (b.tointeger() << 16) | (a.tointeger() << 24) ); } function ToVector() { return Vector(r,g,b); } } ::Color.teamColorList <- [ ::Color.Color(255, 255, 255, 255), // UNASIGNED ::Color.Color(150, 150, 150, 255), // SPECTATOR ::Color.Color(167, 35, 45, 255), // RED ::Color.Color(96, 145, 184, 255), // BLUE ]; enum COLOR { WHITE, GREY, BLACK, RED, GREEN, BLUE, YELLOW, MAGENTA, TEAL, }; ::Color.quickColorList <- [ ::Color.Color(255, 255, 255, 255), // WHITE ::Color.Color(100, 100, 100, 255), // GREY ::Color.Color(0, 0, 0, 255), // BLACK ::Color.Color(255, 0, 0, 255), // RED ::Color.Color(0, 255, 0, 255), // GREEN ::Color.Color(0, 0, 255, 255), // BLUE ::Color.Color(255, 255, 0, 255), // YELLOW ::Color.Color(255, 0, 255, 255), // MAGENTA ::Color.Color(0, 255, 255, 255), // TEAL ]; function Color::GetTeamColor(teamIndex) { local color = ::Color.teamColorList[teamIndex]; return ::Color.Color( color.r, color.g, color.b, color.a ); } function Color::GetQuickColor(index) { local color = ::Color.quickColorList[index]; return ::Color.Color( color.r, color.g, color.b, color.a ); }