Jump to content
Unity Insider Forum

C# Unity Geisterphänomen ?


MustafGames

Recommended Posts

Gruß,

irgendwie kotzt ein das manchmal an, obwohl es logisch ist es trotzdem nicht funktioniert.

    public static List<GameObject> GetAllObjectsInDistance (Vector2 pos, string layer, float distance) {
        Collider2D[] hitColliders = Physics2D.OverlapCircleAll(pos, distance, 1 << LayerMask.NameToLayer(layer));
        Debug.Log(hitColliders.Length);

        //= new Collider2D[100];
        //int number = Physics2D.OverlapCircleNonAlloc(pos, distance, hitColliders, 1 << LayerMask.NameToLayer(layer));
        List<GameObject> targets = new List<GameObject>();

        foreach (var i in hitColliders) {
            targets.Add(i.gameObject);
        }
        Debug.Log(targets.Count);

        return targets;
    }

Warum wird Debug.Log egal welches von beiden nicht ausgeführt, wenn ich folgendes mache:

List<GameObject> items = API.GetAllObjectsArroundTarget(target.transform.position, distance, "Items");

Es ist sogar 1 Item immer da, dieses wird voll ignoriert und das ganze (bis auf Debug.log) funktioniert auch nur wenn mindestens 2 Collider da sind aber warum?

Mfg Mustaf

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...