private void ProcessMagnetPointsInfo(MagnetInfo info, ref Vector2 distation) { if (!info.WasChanges) { MagnetPoints.Add(distation); } else { distation = info.Closest; } }
private MagnetInfo GetMagnetPointsInfo(Vector2 distation) { MagnetInfo info = new MagnetInfo(); foreach (var i in MagnetPoints) { float dist = Vector2.Distance(distation, i); if (dist < info.MinDist) { info.WasChanges = true; info.MinDist = dist; info.Closest = i; } } return(info); }