Ejemplo n.º 1
0
        private string ObtenerParametros( Juego juego )
        {
            StringBuilder parametros = new StringBuilder();
            string nombreArchivoRom = this.ObtenerNombreArchivoRom( juego );

            if( this.IncluirRutaCompletaRom )
                parametros.AppendFormat( "\"{0}\"", Path.Combine( this.RutaRoms, nombreArchivoRom ) );
            else
                parametros.Append( nombreArchivoRom );

            if ( !string.IsNullOrWhiteSpace( this.Parametros ) )
            {
                parametros.Append( " " );
                parametros.Append( this.Parametros );
            }

            return parametros.ToString();
        }
Ejemplo n.º 2
0
        private string ObtenerNombreArchivoRom( Juego juego )
        {
            string retorno;
            if ( string.IsNullOrWhiteSpace( this.ExtensionDeRom ) )
                retorno = Path.GetFileNameWithoutExtension( juego.NombreArchivo );
            else
                retorno = Path.ChangeExtension( juego.NombreArchivo, this.ExtensionDeRom );

            return retorno;
        }
Ejemplo n.º 3
0
        private void ActualizarEstadisticas( Juego juego )
        {
            string archivoEstadisticas = this.ObtenerRutaArchivoEstadisticas();

            JuegoEstadistica juegoEstadistica = this.Estadisticas.Find( x => x.JuegoArchivo.Equals( juego.NombreArchivo, StringComparison.InvariantCultureIgnoreCase ) );
            if ( juegoEstadistica == null )
            {
                juegoEstadistica = new JuegoEstadistica();
                juegoEstadistica.JuegoArchivo = juego.NombreArchivo;
                this.Estadisticas.Add( juegoEstadistica );
            }
            juegoEstadistica.CantidadDeEjecuciones++;
            juegoEstadistica.FechaUltimaEjecucion = DateTime.Now;

            Serializador.Serializar<List<JuegoEstadistica>>( this.Estadisticas, archivoEstadisticas );
        }
Ejemplo n.º 4
0
        public void EliminarJuego( Juego juego )
        {
            this.Juegos.Remove( juego );
            string archivoEliminados = this.ObtenerRutaArchivoJuegosEliminados();
            List<string> juegosEliminados = null;
            if ( File.Exists( archivoEliminados ) )
                juegosEliminados = Deserializador.Deserializar<List<string>>( archivoEliminados );
            else
                juegosEliminados = new List<string>();

            juegosEliminados.Add( juego.NombreArchivo );
            Serializador.Serializar<List<string>>( juegosEliminados, archivoEliminados );
        }
Ejemplo n.º 5
0
        public void EjecutarJuego( Juego juego )
        {
            this.ActualizarEstadisticas( juego );

            this.UltimoJuegoEjecutado = juego.NombreArchivo;
            //Contexto.Instancia.GrabarPlataforma( this );

            string parametros = this.ObtenerParametros( juego );

            Process proceso = new Process();
            this.proceso = proceso;
            proceso.StartInfo = new ProcessStartInfo( Path.GetFileName( this.RutaEmulador ), parametros );
            proceso.StartInfo.WorkingDirectory = Path.GetDirectoryName( this.RutaEmulador );
            proceso.StartInfo.CreateNoWindow = true;
            proceso.EnableRaisingEvents = true;
            proceso.Exited += proceso_Exited;
            proceso.Start();
        }
Ejemplo n.º 6
0
        public void CargarListaDeJuegos()
        {
            this.Juegos = new List<Juego>();

            this.CargarListaDeJuegosEliminados();
            this.CargarEstadisticas();

            string archivoXml = string.Format( "ListasDeJuegos\\{0}", this.ArchivoListaDeJuegos );
            XmlDocument xml = new XmlDocument();
            xml.Load( Path.Combine( Contexto.Instancia.RutaAplicacion, archivoXml ) );
            XmlNodeList nodosJuegos = xml.SelectNodes( "//game" );

            foreach ( XmlNode nodo in nodosJuegos )
            {
                string nombreArchivo = string.Format( "{0}.zip", nodo.Attributes[ "name" ].Value );
                string rutaRom = Path.Combine( this.RutaRoms, nombreArchivo );
                if ( File.Exists( rutaRom ) )
                {
                    Juego juego = new Juego();
                    juego.Nombre = nodo.ChildNodes[ 0 ].InnerText;
                    juego.NombreArchivo = nombreArchivo;
                    JuegoEstadistica estadisticasLocal = this._estadisticas.Find( x => x.JuegoArchivo.Equals( juego.NombreArchivo, StringComparison.InvariantCultureIgnoreCase ) );
                    if ( estadisticasLocal != null )
                        juego.Estadisticas = estadisticasLocal;

                    this.Juegos.Add( juego );
                }
            }

            this.Juegos.RemoveAll( x => this.JuegosEliminados.Exists( y => y.Equals( x.NombreArchivo, StringComparison.InvariantCultureIgnoreCase ) ) );
        }