/// <summary> /// Adds the child if it has not been added already. /// </summary> /// <param name="child">The child.</param> public void AddChild(GameComponent child) { if (HasChildWithGlobalID(child.GlobalID)) { return; } lock (Children) { Children.Add(child); child.Parent = this; child.AddToCache(child); } }