Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/helpers/Transform.js
Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | function ChangeEntityTemplate(oldEnt, newTemplate) | ||||
var cmpHealth = Engine.QueryInterface(oldEnt, IID_Health); | var cmpHealth = Engine.QueryInterface(oldEnt, IID_Health); | ||||
var cmpNewHealth = Engine.QueryInterface(newEnt, IID_Health); | var cmpNewHealth = Engine.QueryInterface(newEnt, IID_Health); | ||||
if (cmpHealth && cmpNewHealth) | if (cmpHealth && cmpNewHealth) | ||||
{ | { | ||||
var healthLevel = Math.max(0, Math.min(1, cmpHealth.GetHitpoints() / cmpHealth.GetMaxHitpoints())); | var healthLevel = Math.max(0, Math.min(1, cmpHealth.GetHitpoints() / cmpHealth.GetMaxHitpoints())); | ||||
cmpNewHealth.SetHitpoints(cmpNewHealth.GetMaxHitpoints() * healthLevel); | cmpNewHealth.SetHitpoints(cmpNewHealth.GetMaxHitpoints() * healthLevel); | ||||
} | } | ||||
let cmpBuilderList = QueryBuilderListInterface(oldEnt); | |||||
let cmpNewBuilderList = QueryBuilderListInterface(newEnt); | |||||
if (cmpBuilderList && cmpNewBuilderList) | |||||
Stan: Wonder if there is a way to clone the whole array ? https://www.freecodecamp.org/news/how-to… | |||||
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(); | let pos = cmpUnitAI.GetHeldPosition(); | ||||
if (pos) | if (pos) | ||||
cmpNewUnitAI.SetHeldPosition(pos.x, pos.z); | cmpNewUnitAI.SetHeldPosition(pos.x, pos.z); | ||||
if (cmpUnitAI.GetStanceName()) | if (cmpUnitAI.GetStanceName()) | ||||
▲ Show 20 Lines • Show All 199 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator
Wonder if there is a way to clone the whole array ? https://www.freecodecamp.org/news/how-to-clone-an-array-in-javascript-1d3183468f6a/
(Might need another function)