Ticket #4112: hidereadybutton8.patch

File hidereadybutton8.patch, 2.2 KB (added by echotangoecho, 8 years ago)

cleanup.

  • binaries/data/mods/public/gui/gamesetup/gamesetup.js

    function initRadioButtons()  
    522522        g_GameAttributes.settings.LastManStanding = false;
    523523        updateGameAttributes();
    524524    };
    525525}
    526526
     527function hideStartGameButton(hidden)
     528{
     529    const offset = 10;
     530
     531    Engine.GetGUIObjectByName("startGame").hidden = hidden;
     532    let startGame = Engine.GetGUIObjectByName("startGame");
     533    let right = hidden ? startGame.size.right : startGame.size.left - offset;
     534
     535    let cancelGameSize = Engine.GetGUIObjectByName("cancelGame").size;
     536    let xButtonSize = cancelGameSize.right - cancelGameSize.left;
     537    cancelGameSize.right = right;
     538    right -= xButtonSize;
     539
     540    for (let element of ["cheatWarningText", "onscreenToolTip"])
     541    {
     542        let elementSize = Engine.GetGUIObjectByName(element).size;
     543        elementSize.right = right - (cancelGameSize.left - elementSize.right);
     544        Engine.GetGUIObjectByName(element).size = elementSize;
     545    }
     546
     547    cancelGameSize.left = right;
     548    Engine.GetGUIObjectByName("cancelGame").size = cancelGameSize;
     549}
     550
    527551/**
    528552 * If we're a network client, hide the controls and show the text instead.
    529553 */
    530554function hideControls()
    531555{
    function hideControls()  
    538562        Engine.GetGUIObjectByName("playerAssignment["+i+"]").hidden = true;
    539563        Engine.GetGUIObjectByName("playerCiv["+i+"]").hidden = true;
    540564        Engine.GetGUIObjectByName("playerTeam["+i+"]").hidden = true;
    541565    }
    542566
     567    // The start game button should be hidden until the player assignments are received
     568    // and it is known whether the local player is an observer.
     569    hideStartGameButton(true);
    543570    Engine.GetGUIObjectByName("startGame").enabled = true;
    544571}
    545572
    546573/**
    547574 * Hides the GUI controls for clients and shows the read-only label instead.
    function handlePlayerAssignmentMessage(m  
    728755        if (!message.newAssignments[guid])
    729756            onClientLeave(guid);
    730757
    731758    g_PlayerAssignments = message.newAssignments;
    732759
     760    hideStartGameButton(!g_IsController && g_PlayerAssignments[Engine.GetPlayerGUID()].player == -1);
     761
    733762    updatePlayerList();
    734763    updateReadyUI();
    735764    sendRegisterGameStanza();
    736765}
    737766