private static MeleeTargetComponentData FindClosest(MeleeFindTargetSettingsComponentData findingSettings, FactionComponentData faction, NativeMultiHashMap <int, QuadrantSystem.QuadrandEntityData> quadrantMap, float3 pos, int key, MeleeTargetComponentData closest) { NativeMultiHashMapIterator <int> iterator; QuadrantSystem.QuadrandEntityData qdata; if (quadrantMap.TryGetFirstValue(key, out qdata, out iterator)) { do { if (qdata.faction != faction.value && qdata.corps == QuadrantSystem.QuadrandEntityData.Corps.SWORDSMAN && qdata.position.EqualsEpsilon(pos, findingSettings.findingRadius) && (closest.target == Entity.Null || pos.CompareToAnother(qdata.position, closest.targetPosition) < 0) ) { closest.targetPosition = qdata.position; closest.target = qdata.entity; } }while (quadrantMap.TryGetNextValue(out qdata, ref iterator)); } return(closest); }