Ticket #4102: 4102-GUIInterface.diff

File 4102-GUIInterface.diff, 8.4 KB (added by Stan, 8 years ago)

Code Fixes for GUIInterface

  • binaries/data/mods/public/simulation/components/GuiInterface.js

     
    727727    notification.id = ++this.timeNotificationID;
    728728
    729729    // Let all players and observers receive the notification by default
    730     if (notification.players == undefined)
     730    if (notification.players === undefined)
    731731    {
    732732        let cmpPlayerManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager);
    733733        let numPlayers = cmpPlayerManager.GetNumPlayers();
     
    802802
    803803GuiInterface.prototype.IsFormationSelected = function(player, data)
    804804{
    805     for each (let ent in data.ents)
     805    for (let ent in data.ents)
    806806    {
    807         let cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI);
     807        let cmpUnitAI = Engine.QueryInterface(data.ents[ent], IID_UnitAI);
    808808        // GetLastFormationName is named in a strange way as it (also) is
    809809        // the value of the current formation (see Formation.js LoadFormation)
    810810        if (cmpUnitAI && cmpUnitAI.GetLastFormationTemplate() == data.formationTemplate)
     
    815815
    816816GuiInterface.prototype.IsStanceSelected = function(player, data)
    817817{
    818     for each (let ent in data.ents)
     818    for (let ent in data.ents)
    819819    {
    820         let cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI);
     820        let cmpUnitAI = Engine.QueryInterface(data.ents[ent], IID_UnitAI);
    821821        if (cmpUnitAI && cmpUnitAI.GetStanceName() == data.stance)
    822822            return true;
    823823    }
     
    827827GuiInterface.prototype.GetAllBuildableEntities = function(player, cmd)
    828828{
    829829    let buildableEnts = [];
    830     for each (let ent in cmd.entities)
     830    for (let ent of cmd.entities)
    831831    {
    832832        let cmpBuilder = Engine.QueryInterface(ent, IID_Builder);
    833833        if (!cmpBuilder)
     
    844844{
    845845    let playerColors = {}; // cache of owner -> color map
    846846
    847     for each (let ent in cmd.entities)
     847    for (let ent of cmd.entities)
    848848    {
    849849        let cmpSelectable = Engine.QueryInterface(ent, IID_Selectable);
    850850        if (!cmpSelectable)
     
    934934    let cmpPlayer = QueryPlayerIDInterface(player);
    935935
    936936    // If there are some rally points already displayed, first hide them
    937     for each (let ent in this.entsRallyPointsDisplayed)
     937   
     938    for (let ent in this.entsRallyPointsDisplayed)
    938939    {
    939         let cmpRallyPointRenderer = Engine.QueryInterface(ent, IID_RallyPointRenderer);
     940        let cmpRallyPointRenderer = Engine.QueryInterface(this.entsRallyPointsDisplayed[ent], IID_RallyPointRenderer);
    940941        if (cmpRallyPointRenderer)
    941942            cmpRallyPointRenderer.SetDisplayed(false);
    942943    }
     
    944945    this.entsRallyPointsDisplayed = [];
    945946
    946947    // Show the rally points for the passed entities
    947     for each (let ent in cmd.entities)
     948    for (let ent of cmd.entities)
    948949    {
    949950        let cmpRallyPointRenderer = Engine.QueryInterface(ent, IID_RallyPointRenderer);
    950951        if (!cmpRallyPointRenderer)
     
    974975        {
    975976            // Only update the position if we changed it (cmd.queued is set)
    976977            if ("queued" in cmd)
    977                 if (cmd.queued == true)
     978                if (cmd.queued === true)
    978979                    cmpRallyPointRenderer.AddPosition({ 'x': pos.x, 'y': pos.z }); // AddPosition takes a CFixedVector2D which has X/Y components, not X/Z
    979980                else
    980981                    cmpRallyPointRenderer.SetPosition({ 'x': pos.x, 'y': pos.z }); // SetPosition takes a CFixedVector2D which has X/Y components, not X/Z
     
    981982
    982983            // rebuild the renderer when not set (when reading saved game or in case of building update)
    983984            else if (!cmpRallyPointRenderer.IsSet())
    984                 for each (let posi in cmpRallyPoint.GetPositions())
    985                     cmpRallyPointRenderer.AddPosition({ 'x': posi.x, 'y': posi.z });
     985                for (let pos of cmpRallyPoint.GetPositions())
     986                    cmpRallyPointRenderer.AddPosition({ 'x': pos.x, 'y': pos.z });
    986987
    987988            cmpRallyPointRenderer.SetDisplayed(true);
    988989
     
    10261027            Engine.DestroyEntity(this.placementEntity[1]);
    10271028
    10281029        // Load the new template
    1029         if (cmd.template == "")
     1030        if (cmd.template === "")
    10301031            this.placementEntity = undefined;
    10311032        else
    10321033            this.placementEntity = [cmd.template, Engine.AddLocalEntity("preview|" + cmd.template)];
     
    11611162        // we're clearing the preview, clear the entity cache and bail
    11621163        for (let tpl in this.placementWallEntities)
    11631164        {
    1164             for each (let ent in this.placementWallEntities[tpl].entities)
    1165                 Engine.DestroyEntity(ent);
     1165            for (let ent in this.placementWallEntities[tpl].entities)
     1166                Engine.DestroyEntity(this.placementWallEntities[tpl].entities[ent]);
    11661167
    11671168            this.placementWallEntities[tpl].numUsed = 0;
    11681169            this.placementWallEntities[tpl].entities = [];
     
    11761177        // Move all existing cached entities outside of the world and reset their use count
    11771178        for (let tpl in this.placementWallEntities)
    11781179        {
    1179             for each (let ent in this.placementWallEntities[tpl].entities)
     1180            for (let ent in this.placementWallEntities[tpl].entities)
    11801181            {
    1181                 let pos = Engine.QueryInterface(ent, IID_Position);
     1182                let pos = Engine.QueryInterface(this.placementWallEntities[tpl].entities[ent], IID_Position);
    11821183                if (pos)
    11831184                    pos.MoveOutOfWorld();
    11841185            }
     
    11871188        }
    11881189
    11891190        // Create cache entries for templates we haven't seen before
    1190         for each (let tpl in wallSet.templates)
     1191        for (let tpl of wallSet.templates)
    11911192        {
    11921193            if (!(tpl in this.placementWallEntities))
    11931194            {
     
    14441445                if (i < previewEntities.length - 1)
    14451446                    terrainGroundNext = cmpTerrain.GetGroundLevel(previewEntities[i+1].pos.x, previewEntities[i+1].pos.z);
    14461447
    1447                 if (terrainGroundPrev != null || terrainGroundNext != null)
     1448                if (terrainGroundPrev !== null || terrainGroundNext !== null)
    14481449                {
    14491450                    let targetY = Math.max(terrainGroundPrev, terrainGroundNext);
    14501451                    cmpPosition.SetHeightFixed(targetY);
     
    15711572
    15721573    // If any were entities required to build the wall, but none of them could be validly positioned, return failure
    15731574    // (see method-level documentation).
    1574     if (numRequiredPieces > 0 && result.pieces.length == 0)
     1575    if (numRequiredPieces > 0 && result.pieces.length)
    15751576        return false;
    15761577
    15771578    if (start.snappedEnt && start.snappedEnt != INVALID_ENTITY)
     
    16181619        let minDistEntitySnapData = null;
    16191620        let radius2 = data.snapRadius * data.snapRadius;
    16201621
    1621         for each (let ent in data.snapEntities)
     1622        for (let ent in data.snapEntities)
    16221623        {
    1623             let cmpPosition = Engine.QueryInterface(ent, IID_Position);
     1624            let cmpPosition = Engine.QueryInterface(data.snapEntities[ent], IID_Position);
    16241625            if (!cmpPosition || !cmpPosition.IsInWorld())
    16251626                continue;
    16261627
     
    16361637                        "x": pos.x,
    16371638                        "z": pos.z,
    16381639                        "angle": cmpPosition.GetRotation().y,
    1639                         "ent": ent
     1640                        "ent": data.snapEntities[ent]
    16401641                };
    16411642            }
    16421643        }
    16431644
    1644         if (minDistEntitySnapData != null)
     1645        if (minDistEntitySnapData !== null)
    16451646            return minDistEntitySnapData;
    16461647    }
    16471648
     
    16931694        // If the entity is in the 'current' (first, 0) bucket on a resumed search, it must be after the "previous" unit, if any.
    16941695        // By adding to the 'end', there is no pause if the series of units loops.
    16951696        var bucket = filtered.bucket;
    1696         if(bucket == 0 && data.prevUnit && entity <= data.prevUnit)
     1697        if(bucket === 0 && data.prevUnit && entity <= data.prevUnit)
    16971698            bucket = data.idleClasses.length;
    16981699
    16991700        if (!idleUnits[bucket])
     
    17011702        idleUnits[bucket].push(entity);
    17021703
    17031704        // If enough units have been collected in the first bucket, go ahead and return them.
    1704         if (data.limit && bucket == 0 && idleUnits[0].length == data.limit)
     1705        if (data.limit && bucket === 0 && idleUnits[0].length == data.limit)
    17051706            return idleUnits[0];
    17061707    }
    17071708
     
    18731874
    18741875GuiInterface.prototype.SetMotionDebugOverlay = function(player, data)
    18751876{
    1876     for each (let ent in data.entities)
     1877    for (let ent in data.entities)
    18771878    {
    1878         let cmpUnitMotion = Engine.QueryInterface(ent, IID_UnitMotion);
     1879        let cmpUnitMotion = Engine.QueryInterface(data.entities[ent], IID_UnitMotion);
    18791880        if (cmpUnitMotion)
    18801881            cmpUnitMotion.SetDebugOverlay(data.enabled);
    18811882    }
     
    18941895    let landTrader = { "total": 0, "trading": 0, "garrisoned": 0 };
    18951896    let shipTrader = { "total": 0, "trading": 0 };
    18961897
    1897     for each (let ent in traders)
     1898    for (let ent in traders)
    18981899    {
    1899         let cmpIdentity = Engine.QueryInterface(ent, IID_Identity);
    1900         let cmpUnitAI = Engine.QueryInterface(ent, IID_UnitAI);
     1900        let cmpIdentity = Engine.QueryInterface(traders[ent], IID_Identity);
     1901        let cmpUnitAI = Engine.QueryInterface(traders[ent], IID_UnitAI);
    19011902        if (!cmpIdentity || !cmpUnitAI)
    19021903            continue;
    19031904