Index: binaries/data/mods/public/gui/session/minimap_panel.xml
===================================================================
--- binaries/data/mods/public/gui/session/minimap_panel.xml
+++ binaries/data/mods/public/gui/session/minimap_panel.xml
@@ -7,23 +7,10 @@
>
-
+
handleMinimapEvent(arguments[0]);
Index: binaries/data/mods/public/gui/session/session.js
===================================================================
--- binaries/data/mods/public/gui/session/session.js
+++ binaries/data/mods/public/gui/session/session.js
@@ -286,6 +286,7 @@
initializeMusic(); // before changing the perspective
initSessionMenuButtons();
+ initMinimapPanelButtons();
for (let slot in Engine.GetGUIObjectByName("panelEntityPanel").children)
initPanelEntities(slot);
@@ -778,6 +779,38 @@
Engine.SetSimRate(speed);
}
+function initMinimapPanelButtons()
+{
+ let idleWorkerButton = Engine.GetGUIObjectByName("idleWorkerButton");
+ let idleOverlay = Engine.GetGUIObjectByName("idleOverlay");
+ let prefix = "stretched:session/";
+
+ idleWorkerButton.onPress = function() {
+ if (g_HasIdleWorker)
+ findIdleUnit(g_WorkerTypes);
+ };
+
+ idleWorkerButton.onMouseEnter = function() {
+ if (g_HasIdleWorker)
+ idleOverlay.sprite = prefix + "minimap-idle-highlight.png";
+ };
+
+ idleWorkerButton.onMouseLeave = function() {
+ if (g_HasIdleWorker)
+ idleOverlay.sprite = prefix + "minimap-idle.png";
+ };
+
+ idleWorkerButton.onMouseLeftPress = function() {
+ if (g_HasIdleWorker)
+ idleOverlay.sprite = prefix + "minimap-idle.png";
+ };
+
+ idleWorkerButton.onMouseLeftRelease = function() {
+ if (g_HasIdleWorker)
+ idleOverlay.sprite = prefix + "minimap-idle-highlight.png";
+ };
+}
+
function hasIdleWorker()
{
return Engine.GuiInterfaceCall("HasIdleUnits", {
@@ -799,6 +832,7 @@
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.