Ticket #3409: t3409_v2.patch

File t3409_v2.patch, 1.6 KB (added by Sergey Kushnirenko, 8 years ago)
  • ps/trunk/binaries/data/mods/public/gui/gamesetup/gamesetup.js

     
    4646    "banned": (msg, user) => systemMessage(sprintf(translate("%(username)s has been banned"), { "username": user })),
    4747    "chat": (msg, user) => sprintf(translate("%(username)s %(message)s"), {
    4848        "username": senderFont(sprintf(translate("<%(username)s>"), { "username": user })),
    49         "message": escapeText(msg.text || "")
     49        "message": colorizePlayernameInWideText(msg.text || "")
    5050    }),
    5151    "ready": (msg, user) => sprintf(translate("* %(username)s is ready!"), {
    5252        "username": user
     
    213213        g_DefaultPlayerData[i].Civ = "random";
    214214}
    215215
     216function colorizePlayernameInWideText(message)
     217{   
     218    var words = message.split( " " );
     219    var colorizedNames = [];
     220    var names = [];
     221    var ret = "";
     222   
     223    for (let guid in g_PlayerAssignments)
     224    {
     225        let player = g_PlayerAssignments[guid];     
     226        if (player.player > 0)
     227        {           
     228            colorizedNames.push( colorizePlayernameByGUID(guid,player.name) );
     229            names.push( player.name );
     230      }     
     231        else
     232        {
     233            colorizedNames.push("");
     234            names.push("");
     235        }
     236    }
     237   
     238    for(let currentWordIndex in words)
     239    {
     240        var colorizedNameIndex = names.indexOf( words[currentWordIndex] );
     241        if( colorizedNameIndex != -1 )
     242            ret = ret + " " + colorizedNames[colorizedNameIndex];
     243        else
     244            ret = ret + " " + escapeText( words[currentWordIndex] );
     245    }
     246   
     247    return ret;
     248}
     249
    216250/**
    217251 * Called after the first tick.
    218252 */