From a8d810b4b3749e8ee92bf71a115a7a90e05465ef Mon Sep 17 00:00:00 2001 From: Ykkrosh Date: Sun, 7 Mar 2010 20:21:17 +0000 Subject: [PATCH] Add a switch to allow the user to control all player's units, for easier testing This was SVN commit r7345. --- binaries/data/mods/public/gui/session_new/input.js | 4 ++-- binaries/data/mods/public/gui/session_new/session.js | 8 ++++++++ binaries/data/mods/public/gui/session_new/session.xml | 6 ++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/binaries/data/mods/public/gui/session_new/input.js b/binaries/data/mods/public/gui/session_new/input.js index 6f9d948fde..d48f4fe0ac 100644 --- a/binaries/data/mods/public/gui/session_new/input.js +++ b/binaries/data/mods/public/gui/session_new/input.js @@ -59,7 +59,7 @@ function determineAction(x, y) // If the selection isn't friendly units, no action var player = Engine.GetPlayerID(); - if (entState.player != player) + if (entState.player != player && !g_DevSettings.controlAll) return; var targets = Engine.PickEntitiesAtPoint(x, y); @@ -74,7 +74,7 @@ function determineAction(x, y) var targetState = Engine.GuiInterfaceCall("GetEntityState", targets[0]); // Different owner -> attack - if (entState.attack && targetState.player != player) + if (entState.attack && targetState.player != entState.player) return {"type": "attack", "cursor": "action-attack", "target": targets[0]}; var resource = findGatherType(entState.resourceGatherRates, targetState.resourceSupply); diff --git a/binaries/data/mods/public/gui/session_new/session.js b/binaries/data/mods/public/gui/session_new/session.js index de51a95a9a..9aa388f6c7 100644 --- a/binaries/data/mods/public/gui/session_new/session.js +++ b/binaries/data/mods/public/gui/session_new/session.js @@ -1,3 +1,7 @@ +var g_DevSettings = { + controlAll: false +}; + function init(initData, hotloadData) { if (hotloadData) @@ -16,6 +20,10 @@ function getHotloadData() function onTick() { + g_DevSettings.controlAll = getGUIObjectByName("devControlAll").checked; + // TODO: at some point this controlAll needs to disable the simulation code's + // player checks (once it has some player checks) + updateCursor(); } diff --git a/binaries/data/mods/public/gui/session_new/session.xml b/binaries/data/mods/public/gui/session_new/session.xml index 0f313c1131..e715aabd99 100644 --- a/binaries/data/mods/public/gui/session_new/session.xml +++ b/binaries/data/mods/public/gui/session_new/session.xml @@ -37,6 +37,12 @@ ]]> + + + Control all units + + +