public bool UnregisterObject(GameObject gameObject)
        {
            if (!IsObjectRegistered(gameObject))
            {
                return(false);
            }

            _objectTree.RemoveNode(_objectToNode[gameObject]);
            _objectToNode.Remove(gameObject);

            RTFocusCamera.Get.SetObjectVisibilityDirty();
            return(true);
        }
Example #2
0
        public void RemoveNodesWithNullObjects()
        {
            var newObjectToNodeDictionary = new Dictionary <GameObject, SphereTreeNode <GameObject> >();

            foreach (var pair in _objectToNode)
            {
                if (pair.Key == null)
                {
                    _objectTree.RemoveNode(pair.Value);
                }
                else
                {
                    newObjectToNodeDictionary.Add(pair.Key, pair.Value);
                }
            }

            _objectToNode.Clear();
            _objectToNode = newObjectToNodeDictionary;
        }