public bool ParentNodeHasItem(Vector3 pos)
 {
     if (!ReferenceEquals(getRoot, this))
     {
         return(parent.ContainsItem(pos));
     }
     else
     {
         return(true);
     }
 }
    void FixedUpdate()
    {
        if (Input.GetKeyDown(KeyCode.G))
        {
            GenerateWorldFromOctree(OctreeNode.getRoot);
        }
        if (Input.GetKeyDown(KeyCode.O))
        {
            if (OctreeNode.getRoot.ContainsItem(Player.position) && (prePlayerNode == null || !prePlayerNode.ContainsItem(Player.position)))
            {
                UpdateOctree();

                if (prePlayerNode != null)
                {
                    if (!prePlayerNode.ReduceSubdivisionsWithoutItem(Player.position, prePlayerNode) && debug)
                    {
                        prePlayerNode.SetRendererMaterial(debugrenMaterialNorm);
                        prePlayerNode.ren.startWidth = prePlayerNode.halfSize / 100;
                        prePlayerNode.ren.endWidth   = prePlayerNode.halfSize / 100;
                    }
                }
                if (playerNode != null && debug)
                {
                    playerNode.SetRendererMaterial(debugrenMaterialHigh);
                    playerNode.ren.startWidth = playerNode.halfSize / 100 + Vector3.Distance(playerNode.pos, Player.position) / 100;
                    playerNode.ren.endWidth   = playerNode.halfSize / 100 + Vector3.Distance(playerNode.pos, Player.position) / 100;
                }
                prePlayerNode = playerNode;
            }
        }
    }