1
0
forked from 0ad/0ad

Some more in-game GUI progress. Multiple selections now look more like the mockup, but all the stats icons and bars still reference the first unit. I will fix that part later.

This was SVN commit r8216.
This commit is contained in:
WhiteTreePaladin 2010-09-30 22:39:45 +00:00
parent ae2e61f90c
commit 61fa8d29f6
4 changed files with 123 additions and 59 deletions

View File

@ -2,39 +2,24 @@ const RESOURCE_ICON_CELL_IDS = {food : 0, wood : 1, stone : 2, metal : 3};
function layoutSelectionMultiple()
{
// getGUIObjectByName("specific").hidden = true;
// getGUIObjectByName("iconBorder").hidden = true;
// getGUIObjectByName("statsArea").hidden = true;
// getGUIObjectByName("health").hidden = true;
// getGUIObjectByName("stamina").hidden = true;
getGUIObjectByName("detailsArea").hidden = true;
getGUIObjectByName("specific").hidden = true;
getGUIObjectByName("iconBorder").hidden = true;
getGUIObjectByName("attackIcon").size = "-4 10 32 46";
getGUIObjectByName("armourIcon").size = "-4 46 32 82";
getGUIObjectByName("barsArea").size = "50%+60 40 100% 136"
}
function layoutSelectionSingle(entState)
function layoutSelectionSingle()
{
getGUIObjectByName("detailsArea").hidden = false;
getGUIObjectByName("specific").hidden = false;
getGUIObjectByName("iconBorder").hidden = false;
// getGUIObjectByName("sdStatsArea").hidden = false;
if (entState.hitpoints != undefined)
getGUIObjectByName("health").hidden = false;
else
getGUIObjectByName("health").hidden = true;
var player = Engine.GetPlayerID();
if (entState.player == player || g_DevSettings.controlAll)
{
//if (entState.stamina != undefined)
getGUIObjectByName("stamina").hidden = false;
//else
// getGUIObjectByName("stamina").hidden = true;
}
getGUIObjectByName("attackIcon").size = "0 0 48 48";
getGUIObjectByName("armourIcon").size = "0 48 48 96";
getGUIObjectByName("barsArea").size = "50%+48 40 100% 136"
}
// Fills out information that most entities have
@ -173,14 +158,25 @@ function updateSelectionDetails()
// Fill out general info and display it
if (selection.length == 1)
{
displayGeneralInfo(entState, template); // must come after layout functions
getGUIObjectByName("detailsArea").hidden = false;
}
layoutSelectionSingle();
else
layoutSelectionMultiple();
if (entState.hitpoints != undefined)
getGUIObjectByName("health").hidden = false;
else
getGUIObjectByName("health").hidden = true;
var player = Engine.GetPlayerID();
if (entState.player == player || g_DevSettings.controlAll)
{
getGUIObjectByName("detailsArea").hidden = true;
//if (entState.stamina != undefined)
getGUIObjectByName("stamina").hidden = false;
//else
// getGUIObjectByName("stamina").hidden = true;
}
displayGeneralInfo(entState, template); // must come after layout functions
// Show Panels
detailsPanel.hidden = false;

View File

@ -168,7 +168,7 @@
</object>
<!-- Chat window -->
<object name="chatWindow" size="50%-200 50%-46 50%+200 50%+46" type="image" hidden="true" z="40" style="sessionPanelDark">
<object name="chatWindow" size="50%-200 50%-46 50%+200 50%+46" type="image" hidden="true" z="40" sprite="genericPanel">
<object name="chatInput" size="16 12 100%-16 36" type="input" style="chatInput" max_length="80">
<action on="Press">submitChatInput();</action>
</object>
@ -190,7 +190,7 @@
<object name="menuPanel"
size="50%-74 50%-180 50%+74 50%+20"
type="image"
style="sessionPanelDark"
sprite="genericPanel"
hidden="true"
z="60"
>
@ -262,7 +262,7 @@
<!-- Settings Window -->
<!-- ================================ ================================ -->
<object name="settingsWindow"
style="sessionPanelDark"
sprite="genericPanel"
type="image"
size="50%-180 50%-200 50%+180 50%+50"
hidden="true"
@ -272,7 +272,7 @@
<object name="settingsOptions"
size="30 36 100%-30 180"
type="image"
style="sessionPanelDark"
sprite="genericPanel"
>
<!-- Settings / shadows -->
<object size="0 10 100%-80 35" type="text" style="settingsText" ghost="true">Enable Shadows</object>
@ -318,7 +318,7 @@
<object name="topPanel"
type="image"
sprite="topPanel"
size="-3 0 100%+3 26"
size="-3 0 100%+3 32"
>
<!-- ================================ ================================ -->
<!-- Player resource bar -->
@ -328,31 +328,31 @@
>
<!-- Food -->
<object size="6 0 96 100%" type="image" style="resourceCounter" tooltip="Food" tooltip_style="snToolTip">
<object size="0 -4 28 22" type="image" style="resourceIcon" cell_id="0"/>
<object size="0 0 28 26" type="image" style="resourceIcon" cell_id="0"/>
<object size="28 0 100% 100%-2" type="text" style="resourceText" name="resourceFood"/>
</object>
<!-- Wood -->
<object size="98 0 188 100%" type="image" style="resourceCounter" tooltip="Wood" tooltip_style="snToolTip">
<object size="0 -4 28 22" type="image" style="resourceIcon" cell_id="1"/>
<object size="0 0 28 26" type="image" style="resourceIcon" cell_id="1"/>
<object size="28 0 100% 100%-2" type="text" style="resourceText" name="resourceWood"/>
</object>
<!-- Stone -->
<object size="190 0 280 100%" type="image" style="resourceCounter" tooltip="Stone" tooltip_style="snToolTip">
<object size="0 -4 28 22" type="image" style="resourceIcon" cell_id="2"/>
<object size="0 0 28 26" type="image" style="resourceIcon" cell_id="2"/>
<object size="28 0 100% 100%-2" type="text" style="resourceText" name="resourceStone"/>
</object>
<!-- Metal -->
<object size="282 0 372 100%" type="image" style="resourceCounter" tooltip="Metal" tooltip_style="snToolTip">
<object size="0 -4 28 22" type="image" style="resourceIcon" cell_id="3"/>
<object size="0 0 28 26" type="image" style="resourceIcon" cell_id="3"/>
<object size="28 0 100% 100%-2" type="text" style="resourceText" name="resourceMetal"/>
</object>
<!-- Population -->
<object size="374 0 464 100%" type="image" style="resourceCounter" tooltip="Population (current / maximum)" tooltip_style="snToolTip">
<object size="0 -5 28 21" type="image" style="resourceIcon" cell_id="4"/>
<object size="0 -2 28 24" type="image" style="resourceIcon" cell_id="4"/>
<object size="28 0 100% 100%-2" type="text" style="resourceText" name="resourcePop"/>
</object>
</object>
@ -360,12 +360,12 @@
<!-- ================================ ================================ -->
<!-- Civ Icon -->
<!-- ================================ ================================ -->
<object size="50%-32 -20 50%+32 44" name="civIcon" type="image"/>
<object size="50%-36 -20 50%+36 52" name="civIcon" type="image"/>
<!-- ================================ ================================ -->
<!-- Phase -->
<!-- ================================ ================================ -->
<object size="50%+50 1 50%+300 26" name="PhaseTitleBar" type="text" font="serif-bold-stroke-14" textcolor="white"> Death Match :: Village Phase</object>
<object size="50%+50 4 50%+300 100%-2" name="PhaseTitleBar" type="text" font="serif-bold-stroke-14" textcolor="white"> Death Match :: Village Phase</object>
<!-- ================================ ================================ -->
<!-- Menu Button -->
@ -452,12 +452,12 @@
hidden="true"
>
<object name="unitSelectionPanel"
size="10 10 100%-20 100%"
size="40 36 100%-20 100%"
>
<object size="0 0 100% 100%">
<repeat count="15">
<object name="unitSelectionButton[n]" hidden="true" style="iconButton" type="button" size="0 0 40 40" z="100">
<object name="unitSelectionIcon[n]" type="image" ghost="true" size="1 1 39 39"/>
<repeat count="12">
<object name="unitSelectionButton[n]" hidden="true" style="iconButton" type="button" size="0 0 36 36" z="100">
<object name="unitSelectionIcon[n]" type="image" ghost="true" size="1 1 35 35"/>
<object name="unitSelectionCount[n]" ghost="true" style="groupIconsText" type="text" size="0 0 100% 100%"/>
<object size="0 100%-3 100% 100%" name="unitSelectionHealth[n]" ghost="true">
</object>
@ -473,7 +473,7 @@
<object size="0 8 100% 30" name="player" type="text" style="largeCenteredOutlinedText" tooltip_style="snToolTip"/>
<!-- Stats -->
<object size="6 44 50 100%" name="statsArea" type="image">
<object size="6 36 50 100%" name="statsArea" type="image">
<!-- Attack icon -->
<object size="0 0 48 48" type="image" name="attackIcon" sprite="snIconSheetStance" cell_id="1" tooltip_style="snToolTip"/>
@ -482,33 +482,36 @@
</object>
<!-- Big unit icon -->
<object size= "50%-48 44 50%+48 140" type="image" name="iconBorder" tooltip_style="snToolTip">
<object size= "50%-48 36 50%+48 140" type="image" name="iconBorder" tooltip_style="snToolTip">
<object size= "0 0 100% 100%" type="image" name="icon" ghost="true"/>
<object size="100%-32 0 100% 32" name="rankIcon" type="image" cell_id="-1" sprite="snIconSheetRank" ghost="true"/>
<object type="image" sprite="glassSquareIcon" ghost="true"/>
</object>
<!-- Stats Bars -->
<object size= "50%+48 36 100% 140" type="image" name="barsArea" tooltip_style="snToolTip">
<!-- Health bar -->
<object size="100%+18 0 100%+30 100%" type="image" name="health" tooltip="Hitpoints" tooltip_style="snToolTip">
<object size="18 0 30 100%" type="image" name="health" tooltip="Hitpoints" tooltip_style="snToolTip">
<object type="image" sprite="healthBackground" ghost="true"/>
<object type="image" sprite="healthForeground" ghost="true" name="healthBar"/>
<object type="image" sprite="statsBarShader" ghost="true"/>
</object>
<!-- Stamina bar -->
<object size="100%+32 0 100%+44 100%" type="image" name="stamina" tooltip="Stamina" tooltip_style="snToolTip">
<object size="32 0 44 100%" type="image" name="stamina" tooltip="Stamina" tooltip_style="snToolTip">
<object type="image" sprite="staminaBackground" ghost="true"/>
<object type="image" sprite="staminaForeground" ghost="true" name="staminaBar"/>
<object type="image" sprite="statsBarShader" ghost="true"/>
</object>
<!-- Resource bar -->
<object size="100%+18 0 100%+30 100%" type="image" name="resources" tooltip="Resources" tooltip_style="snToolTip">
<object size="18 0 30 100%" type="image" name="resources" tooltip="Resources" tooltip_style="snToolTip">
<object type="image" sprite="resourceBackground" ghost="true"/>
<object type="image" sprite="resourceForeground" ghost="true" name="resourceBar"/>
<object type="image" sprite="statsBarShader" ghost="true"/>
</object>
</object>
<!-- Specific Name -->
<object size="0 144 100% 164" name="specific" type="text" style="largeCenteredOutlinedText" tooltip_style="snToolTip"/>
</object>
@ -519,7 +522,7 @@
type="image"
z="30"
>
<object size="0 4 100% 100%-2">
<object size="0 0 100% 100%">
<repeat count="9">
<object name="unitCommandButton[n]" hidden="true" style="iconButton" type="button" size="0 0 28 28">
<object name="unitCommandIcon[n]" ghost="true" type="image" size="1 1 25 25" style="commandIcon"/>

View File

@ -39,8 +39,8 @@
<sprite name="menuButton">
<image
texture="session/icons/single/menu.png"
real_texture_placement="0 0 120 30"
size="0 2 100%-8 100%-2"
real_texture_placement="0 0 120 32"
size="0 4 100%-4 100%-4"
/>
</sprite>
@ -80,6 +80,64 @@
<!-- PANELS -->
<!-- generic -->
<sprite name="genericPanel">
<image
texture="session/ui_bg.png"
real_texture_placement="256 0 768 205"
size="0 0 100% 100%"
/>
<!-- Sides -->
<image
texture="global/border/line_horiz.png"
texture_size="0 0 64 4"
size="4 0 100%-4 4"
/>
<image
texture="global/border/line_vert.png"
texture_size="0 0 4 64"
size="100%-4 4 100% 100%-4"
/>
<image
texture="global/border/line_horiz.png"
texture_size="0 0 64 4"
size="4 100%-4 100%-4 100%"
/>
<image
texture="global/border/line_vert.png"
texture_size="0 0 4 64"
size="0 4 4 100%-4"
/>
<!-- Corners -->
<image
texture="global/border/line_corner_top_right.png"
texture_size="0 0 4 4"
size="100%-4 0 100% 4"
/>
<image
texture="global/border/line_corner_bottom_right.png"
texture_size="0 0 4 4"
size="100%-4 100%-4 100% 100%"
/>
<image
texture="global/border/line_corner_bottom_left.png"
texture_size="0 0 4 4"
size="0 100%-4 4 100%"
/>
<image
texture="global/border/line_corner_top_left.png"
texture_size="0 0 4 4"
size="0 0 4 4"
/>
</sprite>
<!-- top -->
<sprite name="topPanel">
<image
@ -673,6 +731,8 @@
<image backcolor="255 255 255 64" size="100%-3 3 100%-2 100%-3"/>
<image backcolor="255 255 255 64" size="0 100%-3 100% 100%-2"/>
<image backcolor="255 255 255 64" size="2 3 3 100%-3"/>
<image backcolor="0 0 0 144" size="3 3 100%-3 100%-3"/>
</sprite>
<sprite name="chatInputHighlight">

View File

@ -113,7 +113,12 @@ function setupUnitPanel(guiName, usedPanels, unitEntState, items, callback)
var selection = g_Selection.toList();
var numberOfItems = items.length;
if (guiName == "Selection" || guiName == "Formation" || guiName == "Garrison")
if (guiName == "Selection")
{
if (numberOfItems > 12)
numberOfItems = 12;
}
if (guiName == "Formation" || guiName == "Garrison")
{
if (numberOfItems > 15)
numberOfItems = 15;
@ -263,7 +268,7 @@ function setupUnitPanel(guiName, usedPanels, unitEntState, items, callback)
// Layout buttons
if (guiName == "Command")
{
layoutButtonRowCentered(0, guiName, 0, numButtons, 230);
layoutButtonRowCentered(0, guiName, 0, numButtons, 228);
}
else
{