Ticket #1187: Ticket#1187_V3.patch

File Ticket#1187_V3.patch, 3.1 KB (added by James, 12 years ago)

Fixed so that correct units have status bars removed - still to allow for new units entering screen

  • binaries/data/config/default.cfg

     
    190190hotkey.timewarp.fastforward = Space         ; If timewarp mode enabled, speed up the game
    191191hotkey.timewarp.rewind = Backspace          ; If timewarp mode enabled, go back to earlier point in the game
    192192
     193
    193194; > OVERLAY KEYS
    194195hotkey.fps.toggle = "Alt+F"                  ; Toggle frame counter
    195196hotkey.session.devcommands.toggle = "Alt+D"  ; Toggle developer commands panel
    196197hotkey.session.gui.toggle = "Alt+G"          ; Toggle visibility of session GUI
    197198hotkey.menu.toggle = "F10"                   ; Toggle in-game menu
    198199hotkey.timeelapsedcounter.toggle = "F12"     ; Toggle time elapsed counter
     200hotkey.healthbars.toggle = Tab               ; Toggle display of health bars
    199201
     202
    200203; > HOTKEYS ONLY
    201204hotkey.chat = Return                        ; Toggle chat window
    202205
  • binaries/data/mods/public/gui/session/input.js

     
    3333var placementPosition = undefined;
    3434var placementEntity = undefined;
    3535
     36var entsOnScreenHealth = {};
     37var entsOnScreenArrayHealth = [];
     38var reCheckTimeHealth = 500;
     39var reCheckTimerHealth = 0;
     40
    3641var mouseX = 0;
    3742var mouseY = 0;
    3843var mouseIsOverObject = false;
     
    413418
    414419    if (!queued)
    415420        resetPlacementEntity();
    416 
    417421    return true;
    418422}
    419423
     
    714718        else if (ev.type == "hotkeyup" && ev.hotkey == "timewarp.rewind")
    715719            Engine.RewindTimeWarp();
    716720    }
     721   
     722    // Handle the hotkey to show all status bars from friendly units
     723    if(ev.type == "hotkeydown" && ev.hotkey == "healthbars.toggle")
     724    {
     725        var nowHealth = new Date();
     726            if(!(nowHealth.getTime() - reCheckTimerHealth < reCheckTimeHealth))
     727            {
     728                entsOnScreenHealth = Engine.PickFriendlyEntitiesOnScreen(Engine.GetPlayerID());
     729                entsOnScreenArrayHealth.push(entsOnScreenHealth); // find all friendly units on screen
     730                for(var i=0; i<= entsOnScreenArrayHealth.length; i++)
     731                {
     732                    Engine.GuiInterfaceCall("SetStatusBars", { "entities":entsOnScreenArrayHealth[i], "enabled":true }); // show status bars for all friendly units on screen
     733                }
     734                reCheckTimerHealth = nowHealth.getTime();
     735            }
     736    }
     737    // Hide status bars again when key is released
     738    else if(ev.type == "hotkeyup" && ev.hotkey == "healthbars.toggle")
     739    {
     740            var selected = g_Selection.toList();
     741            var highlighted = Engine.PickEntitiesAtPoint(mouseX, mouseY);
     742            for (var i=0; i<= entsOnScreenArrayHealth.length; i++)
     743            {   
     744                Engine.GuiInterfaceCall("SetStatusBars", { "entities":entsOnScreenArrayHealth[i], "enabled":false }); // Hide all status bars
     745            }
     746            Engine.GuiInterfaceCall("SetStatusBars", { "entities":highlighted, "enabled":true }); //Replace status bars selected/highlighted units
     747            Engine.GuiInterfaceCall("SetStatusBars", { "entities":selected, "enabled":true });
     748            entsOnScreenArray = [];
     749    }
     750   
    717751
    718752    // State-machine processing:
    719753