Differential D2016 Diff 19185 ps/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/simulation/components/GuiInterface.js
Show First 20 Lines • Show All 478 Lines • ▼ Show 20 Lines | for (let type of types) | ||||
ret.attack[type].splash = cmpAttack.GetSplashData(type); | ret.attack[type].splash = cmpAttack.GetSplashData(type); | ||||
if (ret.attack[type].splash) | if (ret.attack[type].splash) | ||||
Object.assign(ret.attack[type].splash, cmpAttack.GetAttackEffectsData(type, true)); | Object.assign(ret.attack[type].splash, cmpAttack.GetAttackEffectsData(type, true)); | ||||
let range = cmpAttack.GetRange(type); | let range = cmpAttack.GetRange(type); | ||||
ret.attack[type].minRange = range.min; | ret.attack[type].minRange = range.min; | ||||
ret.attack[type].maxRange = range.max; | ret.attack[type].maxRange = range.max; | ||||
ret.attack[type].yOrigin = cmpAttack.GetAttackYOrigin(type); | |||||
let timers = cmpAttack.GetTimers(type); | let timers = cmpAttack.GetTimers(type); | ||||
ret.attack[type].prepareTime = timers.prepare; | ret.attack[type].prepareTime = timers.prepare; | ||||
ret.attack[type].repeatTime = timers.repeat; | ret.attack[type].repeatTime = timers.repeat; | ||||
if (type != "Ranged") | if (type != "Ranged") | ||||
{ | { | ||||
// Not a ranged attack, set some defaults. | |||||
ret.attack[type].elevationBonus = 0; | |||||
ret.attack[type].elevationAdaptedRange = ret.attack.maxRange; | ret.attack[type].elevationAdaptedRange = ret.attack.maxRange; | ||||
continue; | continue; | ||||
} | } | ||||
ret.attack[type].elevationBonus = range.elevationBonus; | |||||
if (cmpPosition && cmpPosition.IsInWorld()) | if (cmpPosition && cmpPosition.IsInWorld()) | ||||
// For units, take the range in front of it, no spread, so angle = 0, | // For units, take the range in front of it, no spread, so angle = 0, | ||||
// else, take the average elevation around it: angle = 2 * pi. | // else, take the average elevation around it: angle = 2 * pi. | ||||
ret.attack[type].elevationAdaptedRange = cmpRangeManager.GetElevationAdaptedRange(cmpPosition.GetPosition(), cmpPosition.GetRotation(), range.max, range.elevationBonus, cmpUnitAI ? 0 : 2 * Math.PI); | ret.attack[type].elevationAdaptedRange = cmpRangeManager.GetElevationAdaptedRange(cmpPosition.GetPosition(), cmpPosition.GetRotation(), range.max, ret.attack[type].yOrigin, cmpUnitAI ? 0 : 2 * Math.PI); | ||||
else | else | ||||
// Not in world, set a default? | // Not in world, set a default? | ||||
ret.attack[type].elevationAdaptedRange = ret.attack.maxRange; | ret.attack[type].elevationAdaptedRange = ret.attack.maxRange; | ||||
} | } | ||||
} | } | ||||
let cmpResistance = QueryMiragedInterface(ent, IID_Resistance); | let cmpResistance = QueryMiragedInterface(ent, IID_Resistance); | ||||
if (cmpResistance) | if (cmpResistance) | ||||
▲ Show 20 Lines • Show All 107 Lines • ▼ Show 20 Lines | GuiInterface.prototype.GetAverageRangeForBuildings = function(player, cmd) | ||||
let rot = { "x": 0, "y": 0, "z": 0 }; | let rot = { "x": 0, "y": 0, "z": 0 }; | ||||
let pos = { | let pos = { | ||||
"x": cmd.x, | "x": cmd.x, | ||||
"y": cmpTerrain.GetGroundLevel(cmd.x, cmd.z), | "y": cmpTerrain.GetGroundLevel(cmd.x, cmd.z), | ||||
"z": cmd.z | "z": cmd.z | ||||
}; | }; | ||||
let elevationBonus = cmd.elevationBonus || 0; | const yOrigin = cmd.yOrigin || 0; | ||||
let range = cmd.range; | let range = cmd.range; | ||||
return cmpRangeManager.GetElevationAdaptedRange(pos, rot, range, elevationBonus, 2 * Math.PI); | return cmpRangeManager.GetElevationAdaptedRange(pos, rot, range, yOrigin, 2 * Math.PI); | ||||
}; | }; | ||||
GuiInterface.prototype.GetTemplateData = function(player, data) | GuiInterface.prototype.GetTemplateData = function(player, data) | ||||
{ | { | ||||
let templateName = data.templateName; | let templateName = data.templateName; | ||||
let owner = data.player !== undefined ? data.player : player; | let owner = data.player !== undefined ? data.player : player; | ||||
let cmpTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager); | let cmpTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager); | ||||
let template = cmpTemplateManager.GetTemplate(templateName); | let template = cmpTemplateManager.GetTemplate(templateName); | ||||
▲ Show 20 Lines • Show All 1,523 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator