Ticket #4102: 4102-GUIInterface.diff
File 4102-GUIInterface.diff, 8.4 KB (added by , 8 years ago) |
---|
-
binaries/data/mods/public/simulation/components/GuiInterface.js
727 727 notification.id = ++this.timeNotificationID; 728 728 729 729 // Let all players and observers receive the notification by default 730 if (notification.players == undefined)730 if (notification.players === undefined) 731 731 { 732 732 let cmpPlayerManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager); 733 733 let numPlayers = cmpPlayerManager.GetNumPlayers(); … … 802 802 803 803 GuiInterface.prototype.IsFormationSelected = function(player, data) 804 804 { 805 for each(let ent in data.ents)805 for (let ent in data.ents) 806 806 { 807 let cmpUnitAI = Engine.QueryInterface( ent, IID_UnitAI);807 let cmpUnitAI = Engine.QueryInterface(data.ents[ent], IID_UnitAI); 808 808 // GetLastFormationName is named in a strange way as it (also) is 809 809 // the value of the current formation (see Formation.js LoadFormation) 810 810 if (cmpUnitAI && cmpUnitAI.GetLastFormationTemplate() == data.formationTemplate) … … 815 815 816 816 GuiInterface.prototype.IsStanceSelected = function(player, data) 817 817 { 818 for each(let ent in data.ents)818 for (let ent in data.ents) 819 819 { 820 let cmpUnitAI = Engine.QueryInterface( ent, IID_UnitAI);820 let cmpUnitAI = Engine.QueryInterface(data.ents[ent], IID_UnitAI); 821 821 if (cmpUnitAI && cmpUnitAI.GetStanceName() == data.stance) 822 822 return true; 823 823 } … … 827 827 GuiInterface.prototype.GetAllBuildableEntities = function(player, cmd) 828 828 { 829 829 let buildableEnts = []; 830 for each (let ent incmd.entities)830 for (let ent of cmd.entities) 831 831 { 832 832 let cmpBuilder = Engine.QueryInterface(ent, IID_Builder); 833 833 if (!cmpBuilder) … … 844 844 { 845 845 let playerColors = {}; // cache of owner -> color map 846 846 847 for each (let ent incmd.entities)847 for (let ent of cmd.entities) 848 848 { 849 849 let cmpSelectable = Engine.QueryInterface(ent, IID_Selectable); 850 850 if (!cmpSelectable) … … 934 934 let cmpPlayer = QueryPlayerIDInterface(player); 935 935 936 936 // 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) 938 939 { 939 let cmpRallyPointRenderer = Engine.QueryInterface( ent, IID_RallyPointRenderer);940 let cmpRallyPointRenderer = Engine.QueryInterface(this.entsRallyPointsDisplayed[ent], IID_RallyPointRenderer); 940 941 if (cmpRallyPointRenderer) 941 942 cmpRallyPointRenderer.SetDisplayed(false); 942 943 } … … 944 945 this.entsRallyPointsDisplayed = []; 945 946 946 947 // Show the rally points for the passed entities 947 for each (let ent incmd.entities)948 for (let ent of cmd.entities) 948 949 { 949 950 let cmpRallyPointRenderer = Engine.QueryInterface(ent, IID_RallyPointRenderer); 950 951 if (!cmpRallyPointRenderer) … … 974 975 { 975 976 // Only update the position if we changed it (cmd.queued is set) 976 977 if ("queued" in cmd) 977 if (cmd.queued == true)978 if (cmd.queued === true) 978 979 cmpRallyPointRenderer.AddPosition({ 'x': pos.x, 'y': pos.z }); // AddPosition takes a CFixedVector2D which has X/Y components, not X/Z 979 980 else 980 981 cmpRallyPointRenderer.SetPosition({ 'x': pos.x, 'y': pos.z }); // SetPosition takes a CFixedVector2D which has X/Y components, not X/Z … … 981 982 982 983 // rebuild the renderer when not set (when reading saved game or in case of building update) 983 984 else if (!cmpRallyPointRenderer.IsSet()) 984 for each (let posi incmpRallyPoint.GetPositions())985 cmpRallyPointRenderer.AddPosition({ 'x': pos i.x, 'y': posi.z });985 for (let pos of cmpRallyPoint.GetPositions()) 986 cmpRallyPointRenderer.AddPosition({ 'x': pos.x, 'y': pos.z }); 986 987 987 988 cmpRallyPointRenderer.SetDisplayed(true); 988 989 … … 1026 1027 Engine.DestroyEntity(this.placementEntity[1]); 1027 1028 1028 1029 // Load the new template 1029 if (cmd.template == "")1030 if (cmd.template === "") 1030 1031 this.placementEntity = undefined; 1031 1032 else 1032 1033 this.placementEntity = [cmd.template, Engine.AddLocalEntity("preview|" + cmd.template)]; … … 1161 1162 // we're clearing the preview, clear the entity cache and bail 1162 1163 for (let tpl in this.placementWallEntities) 1163 1164 { 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]); 1166 1167 1167 1168 this.placementWallEntities[tpl].numUsed = 0; 1168 1169 this.placementWallEntities[tpl].entities = []; … … 1176 1177 // Move all existing cached entities outside of the world and reset their use count 1177 1178 for (let tpl in this.placementWallEntities) 1178 1179 { 1179 for each(let ent in this.placementWallEntities[tpl].entities)1180 for (let ent in this.placementWallEntities[tpl].entities) 1180 1181 { 1181 let pos = Engine.QueryInterface( ent, IID_Position);1182 let pos = Engine.QueryInterface(this.placementWallEntities[tpl].entities[ent], IID_Position); 1182 1183 if (pos) 1183 1184 pos.MoveOutOfWorld(); 1184 1185 } … … 1187 1188 } 1188 1189 1189 1190 // Create cache entries for templates we haven't seen before 1190 for each (let tpl inwallSet.templates)1191 for (let tpl of wallSet.templates) 1191 1192 { 1192 1193 if (!(tpl in this.placementWallEntities)) 1193 1194 { … … 1444 1445 if (i < previewEntities.length - 1) 1445 1446 terrainGroundNext = cmpTerrain.GetGroundLevel(previewEntities[i+1].pos.x, previewEntities[i+1].pos.z); 1446 1447 1447 if (terrainGroundPrev != null || terrainGroundNext != null)1448 if (terrainGroundPrev !== null || terrainGroundNext !== null) 1448 1449 { 1449 1450 let targetY = Math.max(terrainGroundPrev, terrainGroundNext); 1450 1451 cmpPosition.SetHeightFixed(targetY); … … 1571 1572 1572 1573 // If any were entities required to build the wall, but none of them could be validly positioned, return failure 1573 1574 // (see method-level documentation). 1574 if (numRequiredPieces > 0 && result.pieces.length == 0)1575 if (numRequiredPieces > 0 && result.pieces.length) 1575 1576 return false; 1576 1577 1577 1578 if (start.snappedEnt && start.snappedEnt != INVALID_ENTITY) … … 1618 1619 let minDistEntitySnapData = null; 1619 1620 let radius2 = data.snapRadius * data.snapRadius; 1620 1621 1621 for each(let ent in data.snapEntities)1622 for (let ent in data.snapEntities) 1622 1623 { 1623 let cmpPosition = Engine.QueryInterface( ent, IID_Position);1624 let cmpPosition = Engine.QueryInterface(data.snapEntities[ent], IID_Position); 1624 1625 if (!cmpPosition || !cmpPosition.IsInWorld()) 1625 1626 continue; 1626 1627 … … 1636 1637 "x": pos.x, 1637 1638 "z": pos.z, 1638 1639 "angle": cmpPosition.GetRotation().y, 1639 "ent": ent1640 "ent": data.snapEntities[ent] 1640 1641 }; 1641 1642 } 1642 1643 } 1643 1644 1644 if (minDistEntitySnapData != null)1645 if (minDistEntitySnapData !== null) 1645 1646 return minDistEntitySnapData; 1646 1647 } 1647 1648 … … 1693 1694 // If the entity is in the 'current' (first, 0) bucket on a resumed search, it must be after the "previous" unit, if any. 1694 1695 // By adding to the 'end', there is no pause if the series of units loops. 1695 1696 var bucket = filtered.bucket; 1696 if(bucket == 0 && data.prevUnit && entity <= data.prevUnit)1697 if(bucket === 0 && data.prevUnit && entity <= data.prevUnit) 1697 1698 bucket = data.idleClasses.length; 1698 1699 1699 1700 if (!idleUnits[bucket]) … … 1701 1702 idleUnits[bucket].push(entity); 1702 1703 1703 1704 // 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) 1705 1706 return idleUnits[0]; 1706 1707 } 1707 1708 … … 1873 1874 1874 1875 GuiInterface.prototype.SetMotionDebugOverlay = function(player, data) 1875 1876 { 1876 for each(let ent in data.entities)1877 for (let ent in data.entities) 1877 1878 { 1878 let cmpUnitMotion = Engine.QueryInterface( ent, IID_UnitMotion);1879 let cmpUnitMotion = Engine.QueryInterface(data.entities[ent], IID_UnitMotion); 1879 1880 if (cmpUnitMotion) 1880 1881 cmpUnitMotion.SetDebugOverlay(data.enabled); 1881 1882 } … … 1894 1895 let landTrader = { "total": 0, "trading": 0, "garrisoned": 0 }; 1895 1896 let shipTrader = { "total": 0, "trading": 0 }; 1896 1897 1897 for each(let ent in traders)1898 for (let ent in traders) 1898 1899 { 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); 1901 1902 if (!cmpIdentity || !cmpUnitAI) 1902 1903 continue; 1903 1904