public void CambiarAEscenaCargada(string escena, bool guardarEscenaActual) { if (!escenasCargadas.ContainsKey(escena)) { return; } if (!guardarEscenaActual) { escenasCargadas.Remove(escenaActual.Nombre); } escenaActual = escenasCargadas[escena]; }
public void CambiarANuevaEscena <TEscena>(bool guardarEscenaActual) where TEscena : EscenaBase { string padre = escenaActual.Nombre; if (!guardarEscenaActual) { escenasCargadas.Remove(escenaActual.Nombre); padre = null; } EscenaBase nuevaEscena = (TEscena)Activator.CreateInstance(typeof(TEscena), this, new SpriteBatch(contexto.GraphicsDevice), padre); escenasCargadas.Add(nuevaEscena.Nombre, nuevaEscena); escenaActual = nuevaEscena; }
protected void InicializarComponentes() { if (File.Exists("Config.sav")) { using (FileStream fichero = new FileStream("Config.sav", FileMode.Open)) { BinaryFormatter formato = new BinaryFormatter(); try { Global.Config.SetValues((Global.Config)formato.Deserialize(fichero)); } catch (Exception ex) { Console.WriteLine("Error cargando las opciones: " + ex.Message); } } } EscenaBase escenaPorDefecto = new MenuPrincipal(this, new SpriteBatch(contexto.GraphicsDevice), null); escenasCargadas.Add(escenaPorDefecto.Nombre, escenaPorDefecto); escenaActual = escenaPorDefecto; }