예제 #1
0
    public void RetrieveNonAlloc(List <RectCollider> toFill, Rect rect, string layer)
    {
        if (!_quadTreeDict.ContainsKey(layer))
        {
            return;
        }

        QuadTrees qts = _quadTreeDict[layer];

        qts.RetrieveNonAlloc(toFill, rect);
    }
예제 #2
0
        public List <QTCircleCollider> Retrieve(QTCircleCollider collider)
        {
            _buffer.Clear();

            QuadTrees qt = _quadTrees[collider.layer];

            qt.RetrieveNonAlloc(_buffer, collider);

            FilterListWithCircleCircleCollision(_buffer, collider);

            return(_buffer);
        }
예제 #3
0
    public List <RectCollider> Retrieve(Rect rect, string layer)
    {
        if (!_quadTreeDict.ContainsKey(layer))
        {
            return(new List <RectCollider>());
        }

        QuadTrees           qts   = _quadTreeDict[layer];
        List <RectCollider> found = qts.Retrieve(rect);

        return(found);
    }
예제 #4
0
    public void Add(RectCollider collider, string layer)
    {
        if (!_quadTreeDict.ContainsKey(layer))
        {
            QuadTrees qt = new QuadTrees(_bounds);

            _quadTreeDict.Add(layer, qt);
            _quadTreeList.Add(qt);
        }

        _quadTreeDict[layer].Insert(collider);
    }
예제 #5
0
        public void Register(QTCircleCollider collider)
        {
            QuadTrees qt = _quadTrees[collider.layer];

            qt.Insert(collider);
        }