public bool UnregisterObject(GameObject gameObject) { if (!IsObjectRegistered(gameObject)) { return(false); } _objectTree.RemoveNode(_objectToNode[gameObject]); _objectToNode.Remove(gameObject); RTFocusCamera.Get.SetObjectVisibilityDirty(); return(true); }
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; }