public static ExplosionHelper.Surface[] OverlapExplosionSorted(Vector3 point, float explosionRadius, int findLayerMask = -1, int occludingLayerMask = -1, IDMain ignore = null) { ExplosionHelper.Surface[] surfaceArray = ExplosionHelper.OverlapExplosion(point, explosionRadius, findLayerMask, occludingLayerMask, ignore); if ((int)surfaceArray.Length > 1) { Array.Sort <ExplosionHelper.Surface>(surfaceArray); } return(surfaceArray); }
public static ExplosionHelper.Surface[] OverlapExplosionUnique(Vector3 point, float explosionRadius, int findLayerMask = -1, int occludingLayerMask = -1, IDMain ignore = null) { ExplosionHelper.Surface[] surfaceArray = ExplosionHelper.OverlapExplosion(point, explosionRadius, findLayerMask, occludingLayerMask, ignore); int length = (int)surfaceArray.Length; if (length > 1) { Array.Sort <ExplosionHelper.Surface>(surfaceArray); if (ExplosionHelper.Unique.Filter(surfaceArray, ref length)) { Array.Resize <ExplosionHelper.Surface>(ref surfaceArray, length); } } return(surfaceArray); }