From d74f7b1372b7f898cec9513536ef9cf46359b876 Mon Sep 17 00:00:00 2001 From: iAmAsval Date: Wed, 9 Jun 2021 09:41:23 +0200 Subject: [PATCH] fixed a few aes problems --- FModel/ViewModels/AesManagerViewModel.cs | 45 +++++++++++-------- .../ApiEndpoints/Models/AesResponse.cs | 7 +-- FModel/ViewModels/CUE4ParseViewModel.cs | 2 +- 3 files changed, 31 insertions(+), 23 deletions(-) diff --git a/FModel/ViewModels/AesManagerViewModel.cs b/FModel/ViewModels/AesManagerViewModel.cs index aeb1c9e5..c81ca5eb 100644 --- a/FModel/ViewModels/AesManagerViewModel.cs +++ b/FModel/ViewModels/AesManagerViewModel.cs @@ -64,28 +64,35 @@ namespace FModel.ViewModels _keysFromSettings.MainKey = key; } + else if (!_keysFromSettings.HasDynamicKeys) + { + HasChange = true; + _keysFromSettings.DynamicKeys = new List + { + new() + { + Key = key, + FileName = collection[e.CollectionIndex].Name, + Guid = collection[e.CollectionIndex].Guid.ToString() + } + }; + } + else if (_keysFromSettings.DynamicKeys.FirstOrDefault(x => x.Guid == collection[e.CollectionIndex].Guid.ToString()) is { } d) + { + if (!HasChange) + HasChange = FixKey(d.Key) != key; + + d.Key = key; + } else { - if (!_keysFromSettings.HasDynamicKeys) + HasChange = true; + _keysFromSettings.DynamicKeys.Add(new DynamicKey { - HasChange = true; - _keysFromSettings.DynamicKeys = new[] - { - new DynamicKey - { - Key = key, - FileName = collection[e.CollectionIndex].Name, - Guid = collection[e.CollectionIndex].Guid.ToString() - } - }; - } - else if (_keysFromSettings.DynamicKeys.FirstOrDefault(x => x.Guid == collection[e.CollectionIndex].Guid.ToString()) is { } d) - { - if (!HasChange) - HasChange = FixKey(d.Key) != key; - - d.Key = key; - } + Key = key, + FileName = collection[e.CollectionIndex].Name, + Guid = collection[e.CollectionIndex].Guid.ToString() + }); } } diff --git a/FModel/ViewModels/ApiEndpoints/Models/AesResponse.cs b/FModel/ViewModels/ApiEndpoints/Models/AesResponse.cs index 5d1c9071..64b8e410 100644 --- a/FModel/ViewModels/ApiEndpoints/Models/AesResponse.cs +++ b/FModel/ViewModels/ApiEndpoints/Models/AesResponse.cs @@ -1,4 +1,5 @@ -using System.Diagnostics; +using System.Collections.Generic; +using System.Diagnostics; using J = Newtonsoft.Json.JsonPropertyAttribute; namespace FModel.ViewModels.ApiEndpoints.Models @@ -8,9 +9,9 @@ namespace FModel.ViewModels.ApiEndpoints.Models { [J("version")] public string Version { get; private set; } [J("mainKey")] public string MainKey { get; set; } - [J("dynamicKeys")] public DynamicKey[] DynamicKeys { get; set; } + [J("dynamicKeys")] public List DynamicKeys { get; set; } - public bool HasDynamicKeys => DynamicKeys is {Length: > 0}; + public bool HasDynamicKeys => DynamicKeys is {Count: > 0}; } [DebuggerDisplay("{" + nameof(Key) + "}")] diff --git a/FModel/ViewModels/CUE4ParseViewModel.cs b/FModel/ViewModels/CUE4ParseViewModel.cs index 8a2c6140..68702061 100644 --- a/FModel/ViewModels/CUE4ParseViewModel.cs +++ b/FModel/ViewModels/CUE4ParseViewModel.cs @@ -243,7 +243,7 @@ namespace FModel.ViewModels await _threadWorkerView.Begin(cancellationToken => { var aes = _apiEndpointView.BenbotApi.GetAesKeys(cancellationToken); - if (aes == null) return; + if (aes?.MainKey == null && aes?.DynamicKeys == null && aes?.Version == null) return; UserSettings.Default.AesKeys[Game] = aes; });