From 2ffa8f6b6d11683d196ae2f30ce551bae9e04b0b Mon Sep 17 00:00:00 2001 From: "waffle.lord" Date: Wed, 10 Jul 2024 13:00:52 -0400 Subject: [PATCH] add overview page also update some checks order --- .idea/.idea.SPTInstaller/.idea/avalonia.xml | 1 + SPTInstaller/App.axaml.cs | 4 +- .../Installer Tasks/ReleaseCheckTask.cs | 12 ++-- SPTInstaller/SPTInstaller.csproj | 4 +- .../ViewModels/InstallerUpdateViewModel.cs | 4 +- SPTInstaller/ViewModels/OverviewViewModel.cs | 25 +++++++++ SPTInstaller/Views/OverviewView.axaml | 55 +++++++++++++++++++ SPTInstaller/Views/OverviewView.axaml.cs | 12 ++++ 8 files changed, 104 insertions(+), 13 deletions(-) create mode 100644 SPTInstaller/ViewModels/OverviewViewModel.cs create mode 100644 SPTInstaller/Views/OverviewView.axaml create mode 100644 SPTInstaller/Views/OverviewView.axaml.cs diff --git a/.idea/.idea.SPTInstaller/.idea/avalonia.xml b/.idea/.idea.SPTInstaller/.idea/avalonia.xml index 64fdacd..fb6af35 100644 --- a/.idea/.idea.SPTInstaller/.idea/avalonia.xml +++ b/.idea/.idea.SPTInstaller/.idea/avalonia.xml @@ -24,6 +24,7 @@ + diff --git a/SPTInstaller/App.axaml.cs b/SPTInstaller/App.axaml.cs index cf7fc97..f8cd840 100644 --- a/SPTInstaller/App.axaml.cs +++ b/SPTInstaller/App.axaml.cs @@ -15,7 +15,7 @@ namespace SPTInstaller; public partial class App : Application { - public static string LogPath = Path.Join(Environment.CurrentDirectory, "spt-installer.log"); + public static string LogPath = Path.Join(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "spt-installer", "spt-installer.log"); public static void ReLaunch(bool debug, string installPath = "") { @@ -67,8 +67,6 @@ public partial class App : Application providedPath = installPath != null && installPath.Contains('=') ? installPath?.Split('=')[1] ?? "" : ""; } - - if (debug) { Log.Logger = new LoggerConfiguration() diff --git a/SPTInstaller/Installer Tasks/ReleaseCheckTask.cs b/SPTInstaller/Installer Tasks/ReleaseCheckTask.cs index 340d329..7d268c6 100644 --- a/SPTInstaller/Installer Tasks/ReleaseCheckTask.cs +++ b/SPTInstaller/Installer Tasks/ReleaseCheckTask.cs @@ -76,12 +76,7 @@ public class ReleaseCheckTask : InstallerTaskBase bool sptClientIsOutdated = intSPTVersion != patchMirrorInfo.TargetClientVersion && patchNeedCheck; bool liveClientIsOutdated = intGameVersion != patchMirrorInfo.SourceClientVersion && patchNeedCheck; - - if (liveClientIsOutdated) - { - return Result.FromError("Your live EFT is out of date. Please update it using the BSG Launcher then run the SPT Installer again"); - } - + if (sptClientIsOutdated) { return Result.FromError( @@ -90,6 +85,11 @@ public class ReleaseCheckTask : InstallerTaskBase "\n* Live EFT just updated. The SPT team will create a new patcher within 24 hours, hold tight!" + "\n* Live EFT just updated. You have not installed it on your computer using the BSG launcher"); } + + if (liveClientIsOutdated) + { + return Result.FromError("Your live EFT is out of date. Please update it using the BSG Launcher then run the SPT Installer again"); + } _data.PatchNeeded = patchNeedCheck; diff --git a/SPTInstaller/SPTInstaller.csproj b/SPTInstaller/SPTInstaller.csproj index df1842f..706711b 100644 --- a/SPTInstaller/SPTInstaller.csproj +++ b/SPTInstaller/SPTInstaller.csproj @@ -10,8 +10,8 @@ icon.ico Assets\spt_installer.ico Debug;Release;TEST - 2.86 - 2.86 + 2.87 + 2.87 SPT diff --git a/SPTInstaller/ViewModels/InstallerUpdateViewModel.cs b/SPTInstaller/ViewModels/InstallerUpdateViewModel.cs index abc8e5b..de4ad17 100644 --- a/SPTInstaller/ViewModels/InstallerUpdateViewModel.cs +++ b/SPTInstaller/ViewModels/InstallerUpdateViewModel.cs @@ -27,14 +27,14 @@ public class InstallerUpdateViewModel : ViewModelBase if (!UpdateInfo.UpdateAvailable) { - NavigateTo(new InstallPathSelectionViewModel(HostScreen, _installPath, _debugging)); + NavigateTo(new OverviewViewModel(HostScreen, _installPath, _debugging)); } }); } public void NotNowCommand() { - NavigateTo(new InstallPathSelectionViewModel(HostScreen, _installPath, _debugging)); + NavigateTo(new OverviewViewModel(HostScreen, _installPath, _debugging)); } public async Task UpdateInstallCommand() diff --git a/SPTInstaller/ViewModels/OverviewViewModel.cs b/SPTInstaller/ViewModels/OverviewViewModel.cs new file mode 100644 index 0000000..f9d9eb9 --- /dev/null +++ b/SPTInstaller/ViewModels/OverviewViewModel.cs @@ -0,0 +1,25 @@ +using System.Threading.Tasks; +using ReactiveUI; + +namespace SPTInstaller.ViewModels; + +public class OverviewViewModel : ViewModelBase +{ + private string _providedPath; + private bool _debugging; + public OverviewViewModel(IScreen Host, string providedPath, bool debugging) : base(Host) + { + _providedPath = providedPath; + _debugging = debugging; + + if (!string.IsNullOrEmpty(_providedPath)) + { + Task.Run(NextCommand); + } + } + + public void NextCommand() + { + NavigateTo(new InstallPathSelectionViewModel(HostScreen, _providedPath, _debugging)); + } +} \ No newline at end of file diff --git a/SPTInstaller/Views/OverviewView.axaml b/SPTInstaller/Views/OverviewView.axaml new file mode 100644 index 0000000..3cdb62b --- /dev/null +++ b/SPTInstaller/Views/OverviewView.axaml @@ -0,0 +1,55 @@ + + + + +