Exemplo n.º 1
0
        /// <summary>
        /// Instala/Actualiza la traducción.
        /// </summary>
        private async Task ApplyTranslation(bool offline, bool update)
        {
            if (!offline)
            {
                if (!Ts.CheckGameVersion(update))
                {
                    MessageBox.Show("Se ha detectado una versión incompatible del juego. ¿Estás usando la última versión de la web de ddlc.moe o de steam? (SO: " + OperatingSystem + ")",
                                    "Versión incompatible detectada.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }


            //Block Controls
            Play.Enabled            = false;
            Play.BackgroundImage    = Resources.bt_jugar_dis;
            Update.Enabled          = false;
            Update.BackgroundImage  = update ? Resources.bt_actualizar_dis : Resources.bt_instalar_dis;
            Credits.Enabled         = false;
            Credits.BackgroundImage = Resources.bt_info_dis;
            Exit.Enabled            = false;
            Exit.BackgroundImage    = Resources.bt_salir_dis;
            TextLabel.Visible       = true;

            Task task1;

            if (!offline)
            {
                TextLabel.Text = "Descargando el parche...";
                task1          = Task.Run(() => Ts.DownloadRepo());
                await task1;
            }
            else
            {
                TextLabel.Text = "Extrayendo el parche...";
                task1          = Task.Run(() => Ts.ExtractUpdate());
                await task1;
            }


            TextLabel.Text = "Aplicando traducción...";

            Task  task2 = Task.Run(() => Ts.InstallTranslation(false));
            await task2;

            MessageBox.Show("Se ha instalado correctamente la traducción.", "Se ha instalado la traducción", MessageBoxButtons.OK, MessageBoxIcon.Information);

            TranslationVersion.Text = Ts.CheckTranslation();

            //Change window
            TextLabel.Text = "Proceso finalizado";


            //Enable Controls
            Play.Enabled            = true;
            Play.BackgroundImage    = Resources.bt_jugar;
            Update.Enabled          = true;
            Update.BackgroundImage  = Resources.bt_actualizar;
            Credits.Enabled         = true;
            Credits.BackgroundImage = Resources.bt_info;
            Exit.Enabled            = true;
            Exit.BackgroundImage    = Resources.bt_salir;
        }