Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/components/Garrisonable.js
Show First 20 Lines • Show All 126 Lines • ▼ Show 20 Lines | Garrisonable.prototype.UnGarrison = function(forced = false, renamed = false) | ||||
let cmpPosition = Engine.QueryInterface(this.entity, IID_Position); | let cmpPosition = Engine.QueryInterface(this.entity, IID_Position); | ||||
if (cmpPosition) | if (cmpPosition) | ||||
{ | { | ||||
cmpPosition.JumpTo(pos.x, pos.z); | cmpPosition.JumpTo(pos.x, pos.z); | ||||
cmpPosition.SetHeightOffset(0); | cmpPosition.SetHeightOffset(0); | ||||
} | } | ||||
let cmpHolderPosition = Engine.QueryInterface(this.holder, IID_Position); | let cmpHolderPosition = Engine.QueryInterface(this.holder, IID_Position); | ||||
if (cmpHolderPosition) | if (cmpHolderPosition && cmpHolderPosition.IsInWorld()) | ||||
cmpPosition.SetYRotation(cmpHolderPosition.GetPosition().horizAngleTo(pos)); | cmpPosition.SetYRotation(cmpHolderPosition.GetPosition().horizAngleTo(pos)); | ||||
let cmpUnitAI = Engine.QueryInterface(this.entity, IID_UnitAI); | let cmpUnitAI = Engine.QueryInterface(this.entity, IID_UnitAI); | ||||
if (cmpUnitAI) | if (cmpUnitAI) | ||||
{ | { | ||||
cmpUnitAI.Ungarrison(); | cmpUnitAI.Ungarrison(); | ||||
cmpUnitAI.UnsetGarrisoned(); | cmpUnitAI.UnsetGarrisoned(); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 43 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator