/// <summary> /// Unloads and removes the given GameObject. /// </summary> public void Pop(Entity gameObject) { gameObject.OnUnloadContent(); Items.Remove(gameObject); if (Initialized) { GameObjectCache.CacheAll(); } if (null != World) { World.InvalidateEntityIDCache(gameObject); } }
/// <summary> /// Pushes an Entity onto this scene. /// </summary> public void Push(Entity entity) { Items.Add(entity); entity.UpdateScene = this; entity.DrawScene = entity.DrawScene ?? this; if (Loaded) { entity.OnLoadContent(this.Content); } if (Initialized) { GameObjectCache.CacheAll(); } }
public override void OnInitialize(bool restore) { base.OnInitialize(restore); GameObjectCache.CacheAll(); }