Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/helpers/Transform.js
Show First 20 Lines • Show All 56 Lines • ▼ Show 20 Lines | function ChangeEntityTemplate(oldEnt, newTemplate) | ||||
let cmpNewBuilderList = QueryBuilderListInterface(newEnt); | let cmpNewBuilderList = QueryBuilderListInterface(newEnt); | ||||
if (cmpBuilderList && cmpNewBuilderList) | if (cmpBuilderList && cmpNewBuilderList) | ||||
cmpNewBuilderList.AddBuilders(cmpBuilderList.GetBuilders()); | cmpNewBuilderList.AddBuilders(cmpBuilderList.GetBuilders()); | ||||
var cmpUnitAI = Engine.QueryInterface(oldEnt, IID_UnitAI); | var cmpUnitAI = Engine.QueryInterface(oldEnt, IID_UnitAI); | ||||
var cmpNewUnitAI = Engine.QueryInterface(newEnt, IID_UnitAI); | var cmpNewUnitAI = Engine.QueryInterface(newEnt, IID_UnitAI); | ||||
if (cmpUnitAI && cmpNewUnitAI) | if (cmpUnitAI && cmpNewUnitAI) | ||||
{ | { | ||||
let pos = cmpUnitAI.GetHeldPosition(); | |||||
if (pos) | |||||
cmpNewUnitAI.SetHeldPosition(pos.x, pos.z); | |||||
if (cmpUnitAI.GetStanceName()) | if (cmpUnitAI.GetStanceName()) | ||||
cmpNewUnitAI.SwitchToStance(cmpUnitAI.GetStanceName()); | cmpNewUnitAI.SwitchToStance(cmpUnitAI.GetStanceName()); | ||||
cmpNewUnitAI.AddOrders(cmpUnitAI.GetOrders()); | cmpNewUnitAI.AddOrders(cmpUnitAI.GetOrders()); | ||||
if (cmpUnitAI.IsGuardOf()) | if (cmpUnitAI.IsGuardOf()) | ||||
{ | { | ||||
let guarded = cmpUnitAI.IsGuardOf(); | let guarded = cmpUnitAI.IsGuardOf(); | ||||
let cmpGuard = Engine.QueryInterface(guarded, IID_Guard); | let cmpGuard = Engine.QueryInterface(guarded, IID_Guard); | ||||
if (cmpGuard) | if (cmpGuard) | ||||
▲ Show 20 Lines • Show All 206 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator