Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/components/Formation.js
Show First 20 Lines • Show All 167 Lines • ▼ Show 20 Lines | Formation.prototype.GetClosestMember = function(ent, filter) | ||||
if (!cmpEntPosition || !cmpEntPosition.IsInWorld()) | if (!cmpEntPosition || !cmpEntPosition.IsInWorld()) | ||||
return INVALID_ENTITY; | return INVALID_ENTITY; | ||||
var entPosition = cmpEntPosition.GetPosition2D(); | var entPosition = cmpEntPosition.GetPosition2D(); | ||||
var closestMember = INVALID_ENTITY; | var closestMember = INVALID_ENTITY; | ||||
var closestDistance = Infinity; | var closestDistance = Infinity; | ||||
for (var member of this.members) | for (var member of this.members) | ||||
{ | { | ||||
if (filter && !filter(ent)) | if (filter && !filter(member)) | ||||
continue; | continue; | ||||
var cmpPosition = Engine.QueryInterface(member, IID_Position); | var cmpPosition = Engine.QueryInterface(member, IID_Position); | ||||
if (!cmpPosition || !cmpPosition.IsInWorld()) | if (!cmpPosition || !cmpPosition.IsInWorld()) | ||||
continue; | continue; | ||||
var pos = cmpPosition.GetPosition2D(); | var pos = cmpPosition.GetPosition2D(); | ||||
var dist = entPosition.distanceToSquared(pos); | var dist = entPosition.distanceToSquared(pos); | ||||
▲ Show 20 Lines • Show All 820 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator