public SeparateTreeNode Insert(IEntity entity, int depth, int maxDepth)
    {
        if (mEntities.Contains(entity))
        {
            return(this);
        }

        if (depth < maxDepth)
        {
            SeparateTreeNode node = GetContainerNode(entity, depth);
            if (node != null)
            {
                return(node.Insert(entity, depth + 1, maxDepth));
            }
        }
        mEntities.AddFirst(entity);

        entity.node = this;

        return(this);
    }
Exemple #2
0
 public void Add(IEntity entity)
 {
     mRoot.Insert(entity, 0, mMaxDepth);
 }