Updater
This commit is contained in:
@@ -2,6 +2,9 @@ using Avalonia;
|
||||
using Avalonia.Controls.ApplicationLifetimes;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Mlaumcherb.Client.Avalonia.классы;
|
||||
using Mlaumcherb.Client.Avalonia.сеть;
|
||||
using Mlaumcherb.Client.Avalonia.сеть.Update;
|
||||
using Mlaumcherb.Client.Avalonia.холопы;
|
||||
|
||||
namespace Mlaumcherb.Client.Avalonia.зримое;
|
||||
|
||||
@@ -17,6 +20,8 @@ public class LauncherApp : Application
|
||||
Config = Config.LoadFromFile();
|
||||
Logger.DebugLogEnabled = Config.debug;
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
|
||||
Update();
|
||||
|
||||
// some file required by forge installer
|
||||
if (!File.Exists("launcher_profiles.json"))
|
||||
@@ -27,6 +32,27 @@ public class LauncherApp : Application
|
||||
InstalledVersionCatalog = InstalledVersionCatalog.Load();
|
||||
}
|
||||
|
||||
private async void Update()
|
||||
{
|
||||
try
|
||||
{
|
||||
Logger.LogInfo(nameof(LauncherApp), "checking for updates...");
|
||||
var upd = new UpdateHelper(Config.gitea);
|
||||
upd.DeleteBackupFiles();
|
||||
if (await upd.IsUpdateAvailable())
|
||||
{
|
||||
Logger.LogInfo(nameof(LauncherApp), "downloading update...");
|
||||
await upd.UpdateSelf();
|
||||
Logger.LogInfo(nameof(LauncherApp), "restarting...");
|
||||
upd.RestartSelf();
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ErrorHelper.ShowMessageBox(nameof(LauncherApp), e);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnFrameworkInitializationCompleted()
|
||||
{
|
||||
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||
|
||||
@@ -178,6 +178,7 @@
|
||||
<Button Classes="menu_button button_no_border" Click="ОткрытьФайлЛогов">лог-файл</Button>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
|
||||
<TextBlock Name="LauncherVersionTextBox"/>
|
||||
<Button Classes="menu_button button_no_border" Click="ОткрытьРепозиторий">исходный код</Button>
|
||||
<gif:GifImage
|
||||
Width="30" Height="30" Stretch="Uniform"
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System.Reflection;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Data;
|
||||
@@ -70,6 +71,7 @@ public partial class MainWindow : Window
|
||||
try
|
||||
{
|
||||
LauncherApp.Logger.OnLogMessage += GuiLogMessage;
|
||||
LauncherVersionTextBox.Text = $"v {Assembly.GetExecutingAssembly().GetName().Version}";
|
||||
|
||||
PlayerName = LauncherApp.Config.player_name;
|
||||
MemoryLimit = LauncherApp.Config.max_memory;
|
||||
|
||||
Reference in New Issue
Block a user