Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/simulation/components/Builder.js
Show All 28 Lines | Builder.prototype.GetEntitiesList = function() | ||||
let string = this.template.Entities._string; | let string = this.template.Entities._string; | ||||
if (!string) | if (!string) | ||||
return []; | return []; | ||||
let cmpPlayer = QueryOwnerInterface(this.entity); | let cmpPlayer = QueryOwnerInterface(this.entity); | ||||
if (!cmpPlayer) | if (!cmpPlayer) | ||||
return []; | return []; | ||||
string = ApplyValueModificationsToEntity("Builder/Entities/_string", string, this.entity); | |||||
let cmpIdentity = Engine.QueryInterface(this.entity, IID_Identity); | let cmpIdentity = Engine.QueryInterface(this.entity, IID_Identity); | ||||
if (cmpIdentity) | if (cmpIdentity) | ||||
string = string.replace(/\{native\}/g, cmpIdentity.GetCiv()); | string = string.replace(/\{native\}/g, cmpIdentity.GetCiv()); | ||||
let entities = string.replace(/\{civ\}/g, cmpPlayer.GetCiv()).split(/\s+/); | let entities = string.replace(/\{civ\}/g, cmpPlayer.GetCiv()).split(/\s+/); | ||||
let disabledTemplates = cmpPlayer.GetDisabledTemplates(); | let disabledTemplates = cmpPlayer.GetDisabledTemplates(); | ||||
Show All 35 Lines | Builder.prototype.PerformBuilding = function(target) | ||||
let cmpRepairable = Engine.QueryInterface(target, IID_Repairable); | let cmpRepairable = Engine.QueryInterface(target, IID_Repairable); | ||||
if (cmpRepairable) | if (cmpRepairable) | ||||
{ | { | ||||
cmpRepairable.Repair(this.entity, rate); | cmpRepairable.Repair(this.entity, rate); | ||||
return; | return; | ||||
} | } | ||||
}; | }; | ||||
Builder.prototype.OnValueModification = function(msg) | |||||
{ | |||||
if (msg.component != "Builder" || !msg.valueNames.some(name => name.endsWith('_string'))) | |||||
return; | |||||
// Token changes may require selection updates. | |||||
let cmpPlayer = QueryOwnerInterface(this.entity, IID_Player); | |||||
if (cmpPlayer) | |||||
Engine.QueryInterface(SYSTEM_ENTITY, IID_GuiInterface).SetSelectionDirty(cmpPlayer.GetPlayerID()); | |||||
}; | |||||
Engine.RegisterComponentType(IID_Builder, "Builder", Builder); | Engine.RegisterComponentType(IID_Builder, "Builder", Builder); |
Wildfire Games · Phabricator