mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-06-26 12:28:45 +00:00
Fix idle worker button mess.
fb65288463mimicked the sprite_over button functionality which exists as a proper property since5cc814759f.0e48b7df75mimicked the sprite_disable and enabled button functionality. The button now shows the proper highlight sprite if the button became enabled without one of the prior mouseover events being sent. Removes duplicate hardcoded filenames and unneeded globals, functions and conditions. Refs #2414, #3736 Differential Revision: Patch By: temple This was SVN commit r20601.
This commit is contained in:
@@ -5,28 +5,27 @@
|
||||
type="image"
|
||||
sprite="mapPanel"
|
||||
>
|
||||
<!-- Idle Worker Button -->
|
||||
<object size="100%-80 100%-80 100%-5 100%-5">
|
||||
<object type="button"
|
||||
name="idleWorkerButton"
|
||||
tooltip_style="sessionToolTip"
|
||||
hotkey="selection.idleworker"
|
||||
>
|
||||
<action on="Press">if (g_HasIdleWorker) findIdleUnit(g_WorkerTypes);</action>
|
||||
<action on="MouseEnter">if (g_HasIdleWorker) Engine.GetGUIObjectByName("idleOverlay").sprite = "stretched:session/minimap-idle-highlight.png";</action>
|
||||
<action on="MouseLeave">if (g_HasIdleWorker) Engine.GetGUIObjectByName("idleOverlay").sprite = "stretched:session/minimap-idle.png";</action>
|
||||
<action on="MouseLeftPress">if (g_HasIdleWorker) Engine.GetGUIObjectByName("idleOverlay").sprite = "stretched:session/minimap-idle.png";</action>
|
||||
<action on="MouseLeftRelease">if (g_HasIdleWorker) Engine.GetGUIObjectByName("idleOverlay").sprite = "stretched:session/minimap-idle-highlight.png";</action>
|
||||
</object>
|
||||
</object>
|
||||
<!-- Minimap -->
|
||||
<object name="minimap"
|
||||
type="minimap" z="20"
|
||||
size="8 8 100%-8 100%-8"
|
||||
>
|
||||
<object size="8 8 100%-8 100%-8" type="minimap" z="20">
|
||||
<action on="WorldClick">handleMinimapEvent(arguments[0]);</action>
|
||||
</object>
|
||||
<!-- Overlays -->
|
||||
<object name="minimapOverlay" size="4 4 100%-4 100%-4" type="image" sprite="stretched:session/minimap_circle_modern.png" ghost="true"/>
|
||||
<object name="idleOverlay" z="100" size="100%-125 100%-125 100%-5 100%-5" type="image" sprite="stretched:session/minimap-idle.png" ghost="true"/>
|
||||
<object
|
||||
type="image"
|
||||
size="4 4 100%-4 100%-4"
|
||||
sprite="stretched:session/minimap_circle_modern.png"
|
||||
ghost="true"
|
||||
/>
|
||||
|
||||
<!-- Idle Worker Button -->
|
||||
<object
|
||||
name="idleWorkerButton"
|
||||
type="button"
|
||||
size="100%-120 100%-120 100%-5 100%-5"
|
||||
tooltip_style="sessionToolTip" hotkey="selection.idleworker"
|
||||
sprite="stretched:session/minimap-idle.png"
|
||||
sprite_over="stretched:session/minimap-idle-highlight.png"
|
||||
sprite_disabled="stretched:session/minimap-idle-disabled.png"
|
||||
>
|
||||
<action on="Press">findIdleUnit(g_WorkerTypes);</action>
|
||||
</object>
|
||||
</object>
|
||||
|
||||
@@ -183,10 +183,6 @@ var g_WorkerTypes = ["FemaleCitizen", "Trader", "FishingBoat", "CitizenSoldier"]
|
||||
* Unit classes to be checked for the military-only-selection modifier and for the idle-warrior-hotkey.
|
||||
*/
|
||||
var g_MilitaryTypes = ["Melee", "Ranged"];
|
||||
/**
|
||||
* Cache the idle worker status.
|
||||
*/
|
||||
var g_HasIdleWorker = false;
|
||||
|
||||
function GetSimState()
|
||||
{
|
||||
@@ -778,27 +774,15 @@ function changeGameSpeed(speed)
|
||||
Engine.SetSimRate(speed);
|
||||
}
|
||||
|
||||
function hasIdleWorker()
|
||||
function updateIdleWorkerButton()
|
||||
{
|
||||
return Engine.GuiInterfaceCall("HasIdleUnits", {
|
||||
Engine.GetGUIObjectByName("idleWorkerButton").enabled = Engine.GuiInterfaceCall("HasIdleUnits", {
|
||||
"viewedPlayer": g_ViewedPlayer,
|
||||
"idleClasses": g_WorkerTypes,
|
||||
"excludeUnits": []
|
||||
});
|
||||
}
|
||||
|
||||
function updateIdleWorkerButton()
|
||||
{
|
||||
g_HasIdleWorker = hasIdleWorker();
|
||||
|
||||
let idleWorkerButton = Engine.GetGUIObjectByName("idleOverlay");
|
||||
let prefix = "stretched:session/";
|
||||
|
||||
if (!g_HasIdleWorker)
|
||||
idleWorkerButton.sprite = prefix + "minimap-idle-disabled.png";
|
||||
else if (idleWorkerButton.sprite != prefix + "minimap-idle-highlight.png")
|
||||
idleWorkerButton.sprite = prefix + "minimap-idle.png";
|
||||
}
|
||||
function onSimulationUpdate()
|
||||
{
|
||||
// Templates change depending on technologies and auras, so they have to be reloaded every turn.
|
||||
|
||||
Reference in New Issue
Block a user