Ticket #4112: hidereadybutton9.patch

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

more 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    let startGame = Engine.GetGUIObjectByName("startGame");
     532    startGame.hidden = hidden;
     533    let right = hidden ? startGame.size.right : startGame.size.left - offset;
     534
     535    let cancelGame = Engine.GetGUIObjectByName("cancelGame");
     536    let cancelGameSize = cancelGame.size;
     537    let xButtonSize = cancelGameSize.right - cancelGameSize.left;
     538    cancelGameSize.right = right;
     539    right -= xButtonSize;
     540
     541    for (let element of ["cheatWarningText", "onscreenToolTip"])
     542    {
     543        let elementSize = Engine.GetGUIObjectByName(element).size;
     544        elementSize.right = right - (cancelGameSize.left - elementSize.right);
     545        Engine.GetGUIObjectByName(element).size = elementSize;
     546    }
     547
     548    cancelGameSize.left = right;
     549    cancelGame.size = cancelGameSize;
     550}
     551
    527552/**
    528553 * If we're a network client, hide the controls and show the text instead.
    529554 */
    530555function hideControls()
    531556{
    function hideControls()  
    538563        Engine.GetGUIObjectByName("playerAssignment["+i+"]").hidden = true;
    539564        Engine.GetGUIObjectByName("playerCiv["+i+"]").hidden = true;
    540565        Engine.GetGUIObjectByName("playerTeam["+i+"]").hidden = true;
    541566    }
    542567
     568    // The start game button should be hidden until the player assignments are received
     569    // and it is known whether the local player is an observer.
     570    hideStartGameButton(true);
    543571    Engine.GetGUIObjectByName("startGame").enabled = true;
    544572}
    545573
    546574/**
    547575 * Hides the GUI controls for clients and shows the read-only label instead.
    function handlePlayerAssignmentMessage(m  
    728756        if (!message.newAssignments[guid])
    729757            onClientLeave(guid);
    730758
    731759    g_PlayerAssignments = message.newAssignments;
    732760
     761    hideStartGameButton(!g_IsController && g_PlayerAssignments[Engine.GetPlayerGUID()].player == -1);
     762
    733763    updatePlayerList();
    734764    updateReadyUI();
    735765    sendRegisterGameStanza();
    736766}
    737767