diff --git a/binaries/data/mods/public/gui/session/minimap_panel.xml b/binaries/data/mods/public/gui/session/minimap_panel.xml index ae8d207941..6980215203 100644 --- a/binaries/data/mods/public/gui/session/minimap_panel.xml +++ b/binaries/data/mods/public/gui/session/minimap_panel.xml @@ -5,28 +5,27 @@ type="image" sprite="mapPanel" > - - - - if (g_HasIdleWorker) findIdleUnit(g_WorkerTypes); - if (g_HasIdleWorker) Engine.GetGUIObjectByName("idleOverlay").sprite = "stretched:session/minimap-idle-highlight.png"; - if (g_HasIdleWorker) Engine.GetGUIObjectByName("idleOverlay").sprite = "stretched:session/minimap-idle.png"; - if (g_HasIdleWorker) Engine.GetGUIObjectByName("idleOverlay").sprite = "stretched:session/minimap-idle.png"; - if (g_HasIdleWorker) Engine.GetGUIObjectByName("idleOverlay").sprite = "stretched:session/minimap-idle-highlight.png"; - - - + handleMinimapEvent(arguments[0]); - - - + + + + + findIdleUnit(g_WorkerTypes); + diff --git a/binaries/data/mods/public/gui/session/session.js b/binaries/data/mods/public/gui/session/session.js index 132b0a7062..5cb74db27e 100644 --- a/binaries/data/mods/public/gui/session/session.js +++ b/binaries/data/mods/public/gui/session/session.js @@ -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.