Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/components/AlertRaiser.js
Show First 20 Lines • Show All 49 Lines • ▼ Show 20 Lines | for (let unit of units) | ||||
let cmpUnitAI = Engine.QueryInterface(unit, IID_UnitAI); | let cmpUnitAI = Engine.QueryInterface(unit, IID_UnitAI); | ||||
let holder = cmpRangeManager.ExecuteQuery(unit, 0, +this.template.SearchRange, mutualAllies, IID_GarrisonHolder).find(ent => { | let holder = cmpRangeManager.ExecuteQuery(unit, 0, +this.template.SearchRange, mutualAllies, IID_GarrisonHolder).find(ent => { | ||||
// Ignore moving garrison holders | // Ignore moving garrison holders | ||||
if (Engine.QueryInterface(ent, IID_UnitAI)) | if (Engine.QueryInterface(ent, IID_UnitAI)) | ||||
return false; | return false; | ||||
// Ensure that the garrison holder is within range of the alert raiser | // Ensure that the garrison holder is within range of the alert raiser | ||||
if (+this.template.EndOfAlertRange > 0 && DistanceBetweenEntities(this.entity, ent) > +this.template.EndOfAlertRange) | if (+this.template.EndOfAlertRange > 0 && PositionHelper.DistanceBetweenEntities(this.entity, ent) > +this.template.EndOfAlertRange) | ||||
return false; | return false; | ||||
if (!cmpUnitAI.CheckTargetVisible(ent)) | if (!cmpUnitAI.CheckTargetVisible(ent)) | ||||
return false; | return false; | ||||
let cmpGarrisonHolder = Engine.QueryInterface(ent, IID_GarrisonHolder); | let cmpGarrisonHolder = Engine.QueryInterface(ent, IID_GarrisonHolder); | ||||
if (!reserved.has(ent)) | if (!reserved.has(ent)) | ||||
reserved.set(ent, cmpGarrisonHolder.GetCapacity() - cmpGarrisonHolder.GetGarrisonedEntitiesCount()); | reserved.set(ent, cmpGarrisonHolder.GetCapacity() - cmpGarrisonHolder.GetGarrisonedEntitiesCount()); | ||||
▲ Show 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | if (Engine.QueryInterface(this.entity, IID_GarrisonHolder)) | ||||
holders.push(this.entity); | holders.push(this.entity); | ||||
for (let holder of holders) | for (let holder of holders) | ||||
{ | { | ||||
if (Engine.QueryInterface(holder, IID_UnitAI)) | if (Engine.QueryInterface(holder, IID_UnitAI)) | ||||
continue; | continue; | ||||
let cmpGarrisonHolder = Engine.QueryInterface(holder, IID_GarrisonHolder); | let cmpGarrisonHolder = Engine.QueryInterface(holder, IID_GarrisonHolder); | ||||
let units = cmpGarrisonHolder.GetEntities().filter(ent => { | let units = cmpGarrisonHolder.GetEntities().filter(ent => { | ||||
Lint: ESLintBear (no-shadow): `'units' is already declared in the upper scope.` | |||||
let cmpOwner = Engine.QueryInterface(ent, IID_Ownership); | let cmpOwner = Engine.QueryInterface(ent, IID_Ownership); | ||||
return cmpOwner && cmpOwner.GetOwner() == owner && this.UnitFilter(ent); | return cmpOwner && cmpOwner.GetOwner() == owner && this.UnitFilter(ent); | ||||
}); | }); | ||||
for (let unit of units) | for (let unit of units) | ||||
if (cmpGarrisonHolder.PerformEject([unit], false)) | if (cmpGarrisonHolder.PerformEject([unit], false)) | ||||
{ | { | ||||
let cmpUnitAI = Engine.QueryInterface(unit, IID_UnitAI); | let cmpUnitAI = Engine.QueryInterface(unit, IID_UnitAI); | ||||
Show All 10 Lines |
Wildfire Games · Phabricator
'units' is already declared in the upper scope.