public Scene() { _GameObjectCache = new GameObjectCache(this); Enabled = false; Visible = false; Camera .Create(this); }
/// <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(); } }
void OnDeserialized(StreamingContext c) { _GameObjectCache = new GameObjectCache(this); _World = (World)Parent; }
/// <summary> /// Returns an entity with the given ID. /// </summary> public Entity GetObject(string id) { return(GameObjectCache.GetEntityById(id, Initialized)); }
public override void OnChangeComponents() { GameObjectCache.CacheComponents(); GameObjectCache.CacheObjectsToDraw(); }
public override void OnInitialize(bool restore) { base.OnInitialize(restore); GameObjectCache.CacheAll(); }