0ad/binaries/data/mods/public/gui/lobby/lobby.xml

335 lines
16 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<objects>
<script file="gui/common/functions_global_object.js"/>
<script file="gui/common/functions_utility.js"/>
<script file="gui/common/timer.js"/>
<script file="gui/common/music.js"/>
<script file="gui/lobby/lobby.js"/>
<object type="image" style="ModernWindow" size="0 0 100% 100%" name="lobbyWindow">
<object style="ModernLabelText" type="text" size="50%-128 0%+4 50%+128 36">
<translatableAttribute id="caption">Multiplayer Lobby</translatableAttribute>
</object>
<action on="Tick">
onTick();
</action>
<!-- Left panel: Player list. -->
<object name="leftPanel" size="20 30 20% 100%-280">
<object name="playersBox" style="ModernList" type="olist" size="0 0 100% 100%" font="sans-bold-stroke-13">
<def id="status" width="26%">
<translatableAttribute id="heading">Status</translatableAttribute>
</def>
<def id="name" width="50%">
<translatableAttribute id="heading">Name</translatableAttribute>
</def>
<def id="rating" width="24%">
<translatableAttribute id="heading">Rating</translatableAttribute>
</def>
<action on="SelectionChange">
displayProfile("lobbylist");
</action>
</object>
</object>
<object name="profilePanel" size="20 100%-275 20% 100%-80">
<object name="profileBox" type="image" sprite="ModernDarkBoxGold" size="0 0 100% 100%">
<object name="profileArea" size="0 0 100% 100%" hidden="true">
<object name="usernameText" size="0 0 100% 45" type="text" style="ModernLabelText" text_align="center" font="sans-bold-16" />
<object name="roleText" size="0 45 100% 70" type="text" style="ModernLabelText" text_align="center" font="sans-bold-stroke-12" />
<object size="0 70 40%+40 90" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
<translatableAttribute id="caption">Current Rank:</translatableAttribute>
</object>
<object name="rankText" size="40%+45 70 100% 90" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
<object size="0 90 40%+40 110" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
<translatableAttribute id="caption">Highest Rating:</translatableAttribute>
</object>
<object name="highestRatingText" size="40%+45 90 100% 110" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
<object size="0 110 40%+40 130" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
<translatableAttribute id="caption">Total Games:</translatableAttribute>
</object>
<object name="totalGamesText" size="40%+45 110 100% 130" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
<object size="0 130 40%+40 150" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
<translatableAttribute id="caption">Wins:</translatableAttribute>
</object>
<object name="winsText" size="40%+45 130 100% 150" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
<object size="0 150 40%+40 170" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
<translatableAttribute id="caption">Losses:</translatableAttribute>
</object>
<object name="lossesText" size="40%+45 150 100% 170" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
<object size="0 170 40%+40 190" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
<translatableAttribute id="caption">Win Rate:</translatableAttribute>
</object>
<object name="ratioText" size="40%+45 170 100% 190" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
</object>
</object>
</object>
<object name="leftButtonPanel" size="20 100%-75 20% 100%-20">
<object type="button" style="ModernButtonRed" size="0 0 100% 25">
<translatableAttribute id="caption">Leaderboard</translatableAttribute>
<action on="Press">
Engine.GetGUIObjectByName("leaderboard").hidden = false;
Engine.GetGUIObjectByName("fade").hidden = false;
displayProfile("leaderboard");
</action>
</object>
<object type="button" style="ModernButtonRed" size="0 30 100% 100%">
<translatableAttribute id="caption">User Profile Lookup</translatableAttribute>
<action on="Press">
Engine.GetGUIObjectByName("profileFetch").hidden = false;
Engine.GetGUIObjectByName("fade").hidden = false;
</action>
</object>
</object>
<!-- Right panel: Game details. -->
<object name="rightPanel" size="100%-250 30 100%-20 100%-20" >
<object name="gameInfoEmpty" size="0 0 100% 100%-60" type="image" sprite="ModernDarkBoxGold" hidden="false">
<object name="logo" size="50%-110 40 50%+110 140" type="image" sprite="logo"/>
<object name="subjectBox" type="image" sprite="ModernDarkBoxWhite" size="3% 180 97% 99%">
<object name="subject" size="5 5 100%-5 100%-5" type="text" style="ModernText" text_align="center"/>
</object>
</object>
<object name="gameInfo" size="0 0 100% 100%-90" type="image" sprite="ModernDarkBoxGold" hidden="true">
<!-- Map Name -->
<object name="sgMapName" size="0 5 100% 20" type="text" style="ModernLabelText"/>
<!-- Map Preview -->
<object name="sgMapPreview" size="5 25 100%-5 190" type="image" sprite=""/>
<object size="5 194 100%-5 195" type="image" sprite="ModernWhiteLine" z="25"/>
<!-- Map Type -->
<object size="5 195 50% 240" type="image" sprite="ModernItemBackShadeLeft">
<object size="0 0 100%-10 100%" type="text" style="ModernLabelText" text_align="right">
<translatableAttribute id="caption">Map Type:</translatableAttribute>
</object>
</object>
<object size="50% 195 100%-5 240" type="image" sprite="ModernItemBackShadeRight">
<object name="sgMapType" size="0 0 100% 100%" type="text" style="ModernLabelText" text_align="left"/>
</object>
<object size="5 239 100%-5 240" type="image" sprite="ModernWhiteLine" z="25"/>
<!-- Map Size -->
<object size="5 240 50% 285" type="image" sprite="ModernItemBackShadeLeft">
<object size="0 0 100%-10 100%" type="text" style="ModernLabelText" text_align="right">
<translatableAttribute id="caption">Map Size:</translatableAttribute>
</object>
</object>
<object size="50% 240 100%-5 285" type="image" sprite="ModernItemBackShadeRight">
<object name="sgMapSize" size="0 0 100% 100%" type="text" style="ModernLabelText" text_align="left"/>
</object>
<object size="5 284 100%-5 285" type="image" sprite="ModernWhiteLine" z="25"/>
<!-- Map Description -->
<object type="image" sprite="ModernDarkBoxWhite" size="3% 290 97% 75%">
<object name="sgMapDescription" size="0 0 100% 100%" type="text" style="ModernText" font="sans-12"/>
</object>
<object type="image" sprite="ModernDarkBoxWhite" size="3% 75%+5 97% 99%">
<!-- Number of Players -->
<object size="0% 3% 57% 12%" type="text" style="ModernRightLabelText">
<translatableAttribute id="caption">Players:</translatableAttribute>
</object>
<object name="sgNbPlayers" size="58% 3% 70% 12%" type="text" style="ModernLeftLabelText" text_align="left"/>
<!-- Player Names -->
<object name="sgPlayersNames" size="0 15% 100% 100%" type="text" style="MapPlayerList"/>
</object>
</object>
<object name="joinGameButton" type="button" style="ModernButtonRed" size="0 100%-85 100% 100%-60" hidden="true">
<translatableAttribute id="caption" comment="Join the game currently selected in the list.">Join Game</translatableAttribute>
<action on="Press">
joinSelectedGame();
</action>
</object>
<object name="hostButton" type="button" style="ModernButtonRed" size="0 100%-55 100% 100%-30">
<translatableAttribute id="caption">Host Game</translatableAttribute>
<action on="Press">
hostGame();
</action>
</object>
<object type="button" style="ModernButtonRed" size="0 100%-25 100% 100%">
<translatableAttribute id="caption">Main Menu</translatableAttribute>
<action on="Press">
lobbyStop();
Engine.SwitchGuiPage("page_pregame.xml");
</action>
</object>
</object>
<!-- Middle panel: Filters, game list, chat box. -->
<object name="middlePanel" size="20%+5 5% 100%-255 97.2%">
<object name="gamesBox" style="ModernList" type="olist" size="0 25 100% 48%" font="sans-stroke-13">
<action on="SelectionChange">updateGameSelection();</action>
<def id="name" color="0 60 0" width="27%">
<translatableAttribute id="heading">Name</translatableAttribute>
</def>
<!--<def id="ip" heading="IP" color="0 128 128" width="170"/>-->
<def id="mapName" color="128 128 128" width="25%">
<translatableAttribute id="heading">Map Name</translatableAttribute>
</def>
<def id="mapSize" color="128 128 128" width="16%">
<translatableAttribute id="heading" context="map">Size</translatableAttribute>
</def>
<def id="mapType" color="0 128 128" width="16%">
<translatableAttribute id="heading" context="map">Type</translatableAttribute>
</def>
<def id="nPlayers" color="0 128 128" width="16%">
<translatableAttribute id="heading">Players</translatableAttribute>
</def>
</object>
<object name="filterPanel" size="0 0 100% 24">
<object name="mapSizeFilter"
type="dropdown"
style="ModernDropDown"
size="52%-5 0 68%-10 100%"
font="sans-bold-13">
<action on="SelectionChange">applyFilters();</action>
</object>
<object name="mapTypeFilter"
type="dropdown"
style="ModernDropDown"
size="68%-5 0 84%-10 100%"
font="sans-bold-13">
<action on="SelectionChange">applyFilters();</action>
</object>
<object name="playersNumberFilter"
type="dropdown"
style="ModernDropDown"
size="84%-5 0 100% 100%"
font="sans-bold-13">
<action on="SelectionChange">applyFilters();</action>
</object>
<object type="text" size="22 0 52%-10 100%" text_align="left" textcolor="white">
<translatableAttribute id="caption">Show full games</translatableAttribute>
</object>
<object name="showFullFilter"
type="checkbox"
checked="true"
style="ModernTickBox"
size="0 0 20 20"
font="sans-bold-13">
<action on="Press">applyFilters();</action>
</object>
</object>
<object name="chatPanel" size="0 49% 100% 100%" type="image" sprite="ModernDarkBoxGold">
<object name="chatText" size="0 0 100% 94%" type="text" style="ChatPanel" font="sans-13"/>
<object name="chatInput" size="0 94% 100% 100%" type="input" style="ModernInput" font="sans-13">
<action on="Press">submitChatInput();</action>
<action on="Tab">completeNick();</action>
</object>
</object>
</object>
<!-- START Window for leaderboard stats -->
<!-- Add a translucent black background to fade out the menu page -->
<object hidden="true" name="fade" type="image" z="100" sprite="ModernFade"/>
<object hidden="true" name="leaderboard" type="image" style="ModernDialog" size="50%-224 50%-160 50%+224 50%+160" z="101">
<object style="ModernLabelText" type="text" size="50%-128 -18 50%+128 14">
<translatableAttribute id="caption">Leaderboard</translatableAttribute>
</object>
<object name="leaderboardBox"
style="ModernList"
type="olist"
size="19 19 100%-19 100%-62">
<def id="rank" color="255 255 255" width="15%">
<translatableAttribute id="heading">Rank</translatableAttribute>
</def>
<def id="name" color="255 255 255" width="55%">
<translatableAttribute id="heading">Name</translatableAttribute>
</def>
<def id="rating" color="255 255 255" width="30%">
<translatableAttribute id="heading">Rating</translatableAttribute>
</def>
<action on="SelectionChange">
displayProfile("leaderboard");
</action>
</object>
<object type="button" style="ModernButtonRed" size="50%-133 100%-45 50%-5 100%-17">
<translatableAttribute id="caption">Back</translatableAttribute>
<action on="Press">
Engine.GetGUIObjectByName("leaderboard").hidden = true;
Engine.GetGUIObjectByName("fade").hidden = true;
displayProfile("lobbylist");
</action>
</object>
<object type="button" style="ModernButtonRed" size="50%+5 100%-45 50%+133 100%-17">
<translatableAttribute id="caption">Update</translatableAttribute>
<action on="Press">Engine.SendGetBoardList();</action>
</object>
</object>
<!-- END Window for leaderboard stats -->
<object hidden="true" name="profileFetch" type="image" style="ModernDialog" size="50%-224 50%-160 50%+224 50%+160" z="102">
<object style="ModernLabelText" type="text" size="50%-128 -18 50%+128 14">
<translatableAttribute id="caption">User Profile Lookup</translatableAttribute>
</object>
<object type="text" size="15 25 40% 50" text_align="right" textcolor="white">
<translatableAttribute id="caption">Enter username:</translatableAttribute>
</object>
<object name="fetchInput" size="40%+10 25 100%-25 50" type="input" style="ModernInput" font="sans-13">
<action on="Press">displayProfile("fetch");</action>
</object>
<object type="button" style="ModernButtonRed" size="50%-64 60 50%+64 85">
<translatableAttribute id="caption">View Profile</translatableAttribute>
<action on="Press">displayProfile("fetch");</action>
</object>
<object name="profileWindowPanel" size="25 95 100%-25 100%-60">
<object name="profileWindowBox" type="image" sprite="ModernDarkBoxGold" size="0 0 100% 100%">
<object name="profileWindowArea" size="0 0 100% 100%" hidden="false">
<object name="profileUsernameText" size="0 0 100% 25" type="text" style="ModernLabelText" text_align="center" font="sans-bold-16" />
<object size="0 30 40%+40 50" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
<translatableAttribute id="caption">Current Rank:</translatableAttribute>
</object>
<object name="profileRankText" size="40%+45 30 100% 50" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
<object size="0 50 40%+40 70" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
<translatableAttribute id="caption">Highest Rating:</translatableAttribute>
</object>
<object name="profileHighestRatingText" size="40%+45 50 100% 70" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
<object size="0 70 40%+40 90" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
<translatableAttribute id="caption">Total Games:</translatableAttribute>
</object>
<object name="profileTotalGamesText" size="40%+45 70 100% 90" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
<object size="0 90 40%+40 110" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
<translatableAttribute id="caption">Wins:</translatableAttribute>
</object>
<object name="profileWinsText" size="40%+45 90 100% 110" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
<object size="0 110 40%+40 130" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
<translatableAttribute id="caption">Losses:</translatableAttribute>
</object>
<object name="profileLossesText" size="40%+45 110 100% 130" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
<object size="0 130 40%+40 150" type="text" style="ModernLabelText" text_align="right" font="sans-bold-stroke-13">
<translatableAttribute id="caption">Win Rate:</translatableAttribute>
</object>
<object name="profileRatioText" size="40%+45 130 100% 150" type="text" style="ModernLabelText" text_align="left" font="sans-bold-stroke-12" />
</object>
<object name="profileErrorText" size="25% 25% 75% 75%" type="text" style="ModernLabelText" text_align="center" font="sans-bold-stroke-13" hidden="true">
<translatableAttribute id="caption">Player not found.</translatableAttribute>
</object>
</object>
</object>
<object type="button" style="ModernButtonRed" size="50%-64 100%-50 50%+64 100%-25">
<translatableAttribute id="caption">Back</translatableAttribute>
<action on="Press">
Engine.GetGUIObjectByName("profileFetch").hidden = true;
Engine.GetGUIObjectByName("fade").hidden = true;
</action>
</object>
</object>
</object>
</objects>