예제 #1
0
 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);
 }
예제 #2
0
    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);
    }