Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/components/Health.js
Show First 20 Lines • Show All 317 Lines • ▼ Show 20 Lines | Health.prototype.CreateCorpse = function() | ||||
let templateName = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager).GetCurrentTemplateName(this.entity); | let templateName = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager).GetCurrentTemplateName(this.entity); | ||||
let entCorpse; | let entCorpse; | ||||
let cmpResourceSupply = Engine.QueryInterface(this.entity, IID_ResourceSupply); | let cmpResourceSupply = Engine.QueryInterface(this.entity, IID_ResourceSupply); | ||||
let resource = cmpResourceSupply && cmpResourceSupply.GetKillBeforeGather(); | let resource = cmpResourceSupply && cmpResourceSupply.GetKillBeforeGather(); | ||||
if (resource) | if (resource) | ||||
entCorpse = Engine.AddEntity("resource|" + templateName); | entCorpse = Engine.AddEntity("resource|" + templateName); | ||||
else | else | ||||
{ | |||||
let cmpUnitRenderer = Engine.QueryInterface(SYSTEM_ENTITY, IID_UnitRenderer); | |||||
if (!cmpUnitRenderer || !cmpUnitRenderer.CanAddCorpse()) | |||||
vladislavbelov: That means after option change player won't see units destroyed before the change. | |||||
Done Inline ActionsWe don't support graphics hotloading Stan: We don't support graphics hotloading | |||||
return; | |||||
entCorpse = Engine.AddLocalEntity("corpse|" + templateName); | entCorpse = Engine.AddLocalEntity("corpse|" + templateName); | ||||
} | |||||
// Copy various parameters so it looks just like us. | // Copy various parameters so it looks just like us. | ||||
let cmpPositionCorpse = Engine.QueryInterface(entCorpse, IID_Position); | let cmpPositionCorpse = Engine.QueryInterface(entCorpse, IID_Position); | ||||
let pos = cmpPosition.GetPosition(); | let pos = cmpPosition.GetPosition(); | ||||
cmpPositionCorpse.JumpTo(pos.x, pos.z); | cmpPositionCorpse.JumpTo(pos.x, pos.z); | ||||
let rot = cmpPosition.GetRotation(); | let rot = cmpPosition.GetRotation(); | ||||
cmpPositionCorpse.SetYRotation(rot.y); | cmpPositionCorpse.SetYRotation(rot.y); | ||||
cmpPositionCorpse.SetXZRotation(rot.x, rot.z); | cmpPositionCorpse.SetXZRotation(rot.x, rot.z); | ||||
▲ Show 20 Lines • Show All 122 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator
That means after option change player won't see units destroyed before the change.