示例#1
0
        public void CambiarAEscenaCargada(string escena, bool guardarEscenaActual)
        {
            if (!escenasCargadas.ContainsKey(escena))
            {
                return;
            }

            if (!guardarEscenaActual)
            {
                escenasCargadas.Remove(escenaActual.Nombre);
            }

            escenaActual = escenasCargadas[escena];
        }
示例#2
0
        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;
        }
示例#3
0
        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;
        }