Ticket #3724: t3724_v1.patch

File t3724_v1.patch, 5.8 KB (added by Sergey Kushnirenko, 8 years ago)
  • ps/trunk/binaries/data/config/default.cfg

     
    144144wireframe = "Alt+W"                      ; Toggle wireframe mode
    145145silhouettes = "Alt+S"                    ; Toggle unit silhouettes
    146146showsky = "Alt+Z"                        ; Toggle sky
     147territory.showborder = "Alt+B"            ; Toggle territory border
    147148
    148149; > CLIPBOARD CONTROLS
    149150copy = "Ctrl+C"                       ; Copy to clipboard
  • ps/trunk/binaries/data/mods/public/gui/session/input.js

     
    850850        g_ShowGuarded = (ev.type == "hotkeydown");
    851851        updateAdditionalHighlight();
    852852    }
     853    else if (ev.hotkey == "territory.showborder")
     854    {
     855        if (ev.type == "hotkeydown")
     856        {
     857            Engine.GuiInterfaceCall("ToggleTerritoryBorderVisibility");
     858            var visible = Engine.GuiInterfaceCall("GetTerritoryBorderVisibility");
     859            Engine.SetOverlayVisibility(visible);
     860      }
     861    }
    853862
    854863    // State-machine processing:
    855864
  • ps/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js

     
    854854    }
    855855};
    856856
     857GuiInterface.prototype.ToggleTerritoryBorderVisibility = function()
     858{
     859    var cmpTerritoryManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TerritoryManager);
     860    if (cmpTerritoryManager)
     861    {
     862        let visible = cmpTerritoryManager.GetVisibility();
     863        cmpTerritoryManager.SetVisibility(!visible);
     864    }
     865};
     866
     867GuiInterface.prototype.GetTerritoryBorderVisibility = function()
     868{
     869    var cmpTerritoryManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TerritoryManager);
     870    if (cmpTerritoryManager)
     871        return cmpTerritoryManager.GetVisibility();
     872       
     873    return false;
     874};
     875
    857876GuiInterface.prototype.GetPlayerEntities = function(player)
    858877{
    859878    return Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager).GetEntitiesByPlayer(player);
     
    18581877    "GetAllBuildableEntities": 1,
    18591878    "SetStatusBars": 1,
    18601879    "GetPlayerEntities": 1,
     1880    "ToggleTerritoryBorderVisibility": 1,
     1881    "GetTerritoryBorderVisibility" : 1,
    18611882    "GetNonGaiaEntities": 1,
    18621883    "DisplayRallyPoint": 1,
    18631884    "SetBuildingPlacementPreview": 1,
  • ps/trunk/source/gui/scripting/ScriptFunctions.cpp

     
    6666#include "simulation2/components/ICmpRangeManager.h"
    6767#include "simulation2/components/ICmpSelectable.h"
    6868#include "simulation2/components/ICmpTemplateManager.h"
     69#include "simulation2/components/ICmpOverlayRenderer.h"
    6970#include "simulation2/helpers/Selection.h"
    7071#include "soundmanager/SoundManager.h"
    7172#include "soundmanager/scripting/JSInterface_Sound.h"
     
    931932    js_start_times[slot].SetFromTimer();
    932933}
    933934
     935void SetOverrideVisibility(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), bool visible)
     936{
     937    ICmpOverlayRenderer::SetOverrideVisibility(visible);
     938}
     939
    934940void StopJsTimer(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), unsigned int slot)
    935941{
    936942    if (slot >= MAX_JS_TIMERS)
     
    10711077    scriptInterface.RegisterFunction<void, unsigned int, &EnableTimeWarpRecording>("EnableTimeWarpRecording");
    10721078    scriptInterface.RegisterFunction<void, &RewindTimeWarp>("RewindTimeWarp");
    10731079    scriptInterface.RegisterFunction<void, bool, &SetBoundingBoxDebugOverlay>("SetBoundingBoxDebugOverlay");
     1080    scriptInterface.RegisterFunction<void, bool, &SetOverrideVisibility>("SetOverlayVisibility");
    10741081}
  • ps/trunk/source/simulation2/components/CCmpTerritoryManager.cpp

     
    282282        m_Visible = visible;
    283283    }
    284284
     285    bool GetVisibility()
     286    {
     287        return m_Visible;
     288    }
    285289private:
    286290
    287291    bool m_Visible;
  • ps/trunk/source/simulation2/components/ICmpTerritoryManager.cpp

     
    2727DEFINE_INTERFACE_METHOD_2("IsConnected", bool, ICmpTerritoryManager, IsConnected, entity_pos_t, entity_pos_t)
    2828DEFINE_INTERFACE_METHOD_2("SetTerritoryBlinking", void, ICmpTerritoryManager, SetTerritoryBlinking, entity_pos_t, entity_pos_t)
    2929DEFINE_INTERFACE_METHOD_1("GetTerritoryPercentage", u8, ICmpTerritoryManager, GetTerritoryPercentage, player_id_t)
     30DEFINE_INTERFACE_METHOD_1("SetVisibility", void, ICmpTerritoryManager, SetVisibility, bool)
     31DEFINE_INTERFACE_METHOD_0("GetVisibility", bool, ICmpTerritoryManager, GetVisibility)
    3032END_INTERFACE_WRAPPER(TerritoryManager)
  • ps/trunk/source/simulation2/components/ICmpTerritoryManager.h

     
    8383     */
    8484    virtual void SetVisibility(bool visible) = 0;
    8585
     86    /**
     87     * Return current state of an territory borders rendering.
     88     */
     89    virtual bool GetVisibility() = 0;
     90
    8691    DECLARE_INTERFACE_TYPE(TerritoryManager)
    8792};
    8893