Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/components/GarrisonHolder.js
Show First 20 Lines • Show All 668 Lines • ▼ Show 20 Lines | for (let entity of entities) | ||||
killedEntities.push(entity); | killedEntities.push(entity); | ||||
} | } | ||||
if (killedEntities.length) | if (killedEntities.length) | ||||
Engine.PostMessage(this.entity, MT_GarrisonedUnitsChanged, { "added": [], "removed": killedEntities }); | Engine.PostMessage(this.entity, MT_GarrisonedUnitsChanged, { "added": [], "removed": killedEntities }); | ||||
this.UpdateGarrisonFlag(); | this.UpdateGarrisonFlag(); | ||||
}; | }; | ||||
/** | |||||
* Whether an entity is ejectable. | |||||
* @param {number} entity - The entity-ID to be tested. | |||||
* @return {boolean} - Whether the entity is ejectable. | |||||
*/ | |||||
GarrisonHolder.prototype.IsEjectable = function(entity) | GarrisonHolder.prototype.IsEjectable = function(entity) | ||||
{ | { | ||||
if (!this.entities.find(ent => ent == entity)) | if (!this.entities.find(ent => ent == entity)) | ||||
return false; | return false; | ||||
let ejectableClasses = this.template.EjectClassesOnDestroy._string; | let ejectableClasses = this.template.EjectClassesOnDestroy._string; | ||||
ejectableClasses = ejectableClasses ? ejectableClasses.split(/\s+/) : []; | |||||
let entityClasses = Engine.QueryInterface(entity, IID_Identity).GetClassesList(); | let entityClasses = Engine.QueryInterface(entity, IID_Identity).GetClassesList(); | ||||
return ejectableClasses.some(ejectableClass => entityClasses.indexOf(ejectableClass) != -1); | return MatchesClassList(entityClasses, ejectableClasses); | ||||
}; | }; | ||||
/** | /** | ||||
* Initialise the garrisoned units. | * Initialise the garrisoned units. | ||||
*/ | */ | ||||
GarrisonHolder.prototype.OnGlobalInitGame = function(msg) | GarrisonHolder.prototype.OnGlobalInitGame = function(msg) | ||||
{ | { | ||||
if (!this.initGarrison) | if (!this.initGarrison) | ||||
Show All 31 Lines |
Wildfire Games · Phabricator