diff --git a/Daybreak.7ZipExtractor/Daybreak.7ZipExtractor.csproj b/Daybreak.7ZipExtractor/Daybreak.7ZipExtractor.csproj
index d8561502..acdfd8e4 100644
--- a/Daybreak.7ZipExtractor/Daybreak.7ZipExtractor.csproj
+++ b/Daybreak.7ZipExtractor/Daybreak.7ZipExtractor.csproj
@@ -5,13 +5,11 @@
net9.0
Daybreak._7ZipExtractor
enable
- enable
x64
- 0.9.9.76
-
+
diff --git a/Daybreak.7ZipExtractor/Program.cs b/Daybreak.7ZipExtractor/Program.cs
index 06b46028..0397464a 100644
--- a/Daybreak.7ZipExtractor/Program.cs
+++ b/Daybreak.7ZipExtractor/Program.cs
@@ -21,6 +21,11 @@ var reader = archive.ExtractAllEntries();
while (reader.MoveToNextEntry())
{
var entry = reader.Entry;
+ if (entry.Key is null)
+ {
+ continue;
+ }
+
if (entry.IsDirectory)
{
var directoryName = Path.Combine(Path.GetFullPath(destinationDirectory), entry.Key);
diff --git a/Daybreak.API/Configuration/WebApplicationBuilderExtensions.cs b/Daybreak.API/Configuration/WebApplicationBuilderExtensions.cs
index eab55d74..39bfed73 100644
--- a/Daybreak.API/Configuration/WebApplicationBuilderExtensions.cs
+++ b/Daybreak.API/Configuration/WebApplicationBuilderExtensions.cs
@@ -5,18 +5,8 @@ public static class WebApplicationBuilderExtensions
public static WebApplicationBuilder WithConfiguration(this WebApplicationBuilder builder)
{
var config = BuildInfo.Configuration;
- var appSettingsStream = GetManifestResourceStream($"Daybreak.API.Configuration.appsettings.json");
- if (appSettingsStream is null)
- {
- throw new InvalidOperationException("Failed to load appsettings.json");
- }
-
- var appSettingsConfigStream = GetManifestResourceStream($"Daybreak.API.Configuration.appsettings.{config}.json");
- if (appSettingsConfigStream is null)
- {
- throw new InvalidOperationException($"Failed to load appsettings.{config}.json");
- }
-
+ var appSettingsStream = GetManifestResourceStream($"Daybreak.API.Configuration.appsettings.json") ?? throw new InvalidOperationException("Failed to load appsettings.json");
+ var appSettingsConfigStream = GetManifestResourceStream($"Daybreak.API.Configuration.appsettings.{config}.json") ?? throw new InvalidOperationException($"Failed to load appsettings.{config}.json");
builder.Configuration
.AddJsonStream(appSettingsStream)
.AddJsonStream(appSettingsConfigStream)
diff --git a/Daybreak.API/Daybreak.API.csproj b/Daybreak.API/Daybreak.API.csproj
index ef898219..c4845334 100644
--- a/Daybreak.API/Daybreak.API.csproj
+++ b/Daybreak.API/Daybreak.API.csproj
@@ -8,9 +8,7 @@
win-x86
true
true
- true
true
- 0.9.9.76
true
true
@@ -22,6 +20,14 @@
x86
+
+
+ IL2104
+ IL3053
+
+ NU1701
+
+
@@ -33,23 +39,23 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Daybreak.API/EntryPoint.cs b/Daybreak.API/EntryPoint.cs
index 0482ef8b..a34d33f5 100644
--- a/Daybreak.API/EntryPoint.cs
+++ b/Daybreak.API/EntryPoint.cs
@@ -1,4 +1,5 @@
using System.Diagnostics;
+using System.Diagnostics.CodeAnalysis;
using System.Extensions.Core;
using System.Net.NetworkInformation;
using System.Runtime.InteropServices;
@@ -23,6 +24,8 @@ public class EntryPoint
private static readonly CancellationTokenSource CancellationTokenSource = new();
[UnmanagedCallersOnly(EntryPoint = "ThreadInit"), STAThread]
+ [RequiresUnreferencedCode("The handler uses a static method that gets referenced, so there's no unreferenced code to worry about")]
+ [RequiresDynamicCode("The handler uses a static method, so there's no dynamic code to worry about")]
public static int ThreadInit(IntPtr _, int __)
{
Environment.SetEnvironmentVariable("ASPNETCORE_HOSTINGSTARTUPASSEMBLIES", null, EnvironmentVariableTarget.Process);
@@ -37,7 +40,7 @@ public class EntryPoint
var healthCheck = app.Services.GetRequiredService();
var sw = Stopwatch.StartNew();
var healthy = false;
- while(sw.Elapsed < InitializationTimeout)
+ while (sw.Elapsed < InitializationTimeout)
{
var status = Task.Run(() => healthCheck.CheckHealthAsync()).Result;
scopedLogger.LogWarning("HealthCheck status: {status} in {duration}. Report: {report}", status.Status, status.TotalDuration, string.Join("\n", status.Entries.Select(e => $"{e.Key}: {e.Value.Status}")));
@@ -65,9 +68,11 @@ public class EntryPoint
}
}
+ [RequiresUnreferencedCode("The handler uses a static method that gets referenced, so there's no unreferenced code to worry about")]
+ [RequiresDynamicCode("The handler uses a static method, so there's no dynamic code to worry about")]
private static WebApplication CreateApplication(int port)
{
- var app = WebApplication.CreateBuilder()
+ var builder = WebApplication.CreateBuilder()
.WithConfiguration()
.WithHosting(port)
.WithSwagger()
@@ -76,8 +81,11 @@ public class EntryPoint
.WithDaybreakServices()
.WithWebSocketRoutes()
.WithRoutes()
- .WithHealthChecks()
- .Build();
+ .WithHealthChecks();
+
+ builder.Services.AddOpenApi();
+
+ var app = builder.Build();
app.UseWebSockets(new WebSocketOptions { KeepAliveInterval = TimeSpan.FromSeconds(30) });
diff --git a/Daybreak.API/Interop/GuildWars/Agent.cs b/Daybreak.API/Interop/GuildWars/Agent.cs
index e47368ab..3db99904 100644
--- a/Daybreak.API/Interop/GuildWars/Agent.cs
+++ b/Daybreak.API/Interop/GuildWars/Agent.cs
@@ -51,7 +51,6 @@ public enum LivingAgentEffects : uint
Bleeding = 0x0001,
Conditioned = 0x0002,
Crippled1 = 0x0008, // Part of the Crippled check
- Crippled2 = 0x0002, // Part of the Crippled check
Crippled = 0x000A, // Combined flag for crippled (0x0008 | 0x0002)
Dead = 0x0010,
DeepWound = 0x0020,
diff --git a/Daybreak.API/Interop/GuildWars/GuildWarsArray.cs b/Daybreak.API/Interop/GuildWars/GuildWarsArray.cs
index 2079f746..2f42bf80 100644
--- a/Daybreak.API/Interop/GuildWars/GuildWarsArray.cs
+++ b/Daybreak.API/Interop/GuildWars/GuildWarsArray.cs
@@ -47,6 +47,6 @@ public readonly unsafe struct GuildWarsArray : IEnumerable
object IEnumerator.Current => this.Current;
public void Reset() => this.index = -1;
- public void Dispose() { }
+ public readonly void Dispose() { }
}
}
diff --git a/Daybreak.API/Serialization/ApiJsonSerializerContext.cs b/Daybreak.API/Serialization/ApiJsonSerializerContext.cs
index 9f71393e..c8044f1e 100644
--- a/Daybreak.API/Serialization/ApiJsonSerializerContext.cs
+++ b/Daybreak.API/Serialization/ApiJsonSerializerContext.cs
@@ -11,8 +11,6 @@ namespace Daybreak.API.Serialization;
[JsonSerializable(typeof(uint))]
[JsonSerializable(typeof(nuint))]
[JsonSerializable(typeof(bool))]
-[JsonSerializable(typeof(Task))]
-[JsonSerializable(typeof(Task))]
[JsonSerializable(typeof(Dictionary))]
[JsonSerializable(typeof(List))]
[JsonSerializable(typeof(JsonElement))]
diff --git a/Daybreak.API/Services/Interop/MemoryScanningService.cs b/Daybreak.API/Services/Interop/MemoryScanningService.cs
index 15a37bd7..15b8a056 100644
--- a/Daybreak.API/Services/Interop/MemoryScanningService.cs
+++ b/Daybreak.API/Services/Interop/MemoryScanningService.cs
@@ -1,9 +1,7 @@
-using Daybreak.Shared.Models.Interop;
-using PeNet;
+using PeNet;
using PeNet.Header.Pe;
using System.Core.Extensions;
using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
using System.Extensions.Core;
using System.Globalization;
using System.Runtime.InteropServices;
@@ -11,31 +9,13 @@ using System.Text;
namespace Daybreak.API.Services.Interop;
-public sealed unsafe class MemoryScanningService
+public sealed unsafe class MemoryScanningService(
+ ILogger logger)
{
- private readonly ILogger logger;
+ private readonly ILogger logger = logger.ThrowIfNull();
private readonly (nuint BaseAddress, ImageSectionHeader Section) textSection = GetSectionHeader(".text");
private readonly (nuint BaseAddress, ImageSectionHeader Section) dataSection = GetSectionHeader(".rdata");
- public MemoryScanningService(
- ILogger logger)
- {
- this.logger = logger.ThrowIfNull();
- }
-
- public T? ReadPointer<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] T>(GuildwarsPointer ptr)
- where T : struct
- {
- var scopedLogger = this.logger.CreateScopedLogger();
- scopedLogger.LogInformation("Reading pointer: 0x{ptr:X8}", ptr.Address);
- if (ptr.Address is 0)
- {
- return default;
- }
-
- return Marshal.PtrToStructure((nint)ptr.Address);
- }
-
public nuint FunctionFromNearCall(nuint callInstructionAddress, bool checkValidPtr = true)
{
var scopedLogger = this.logger.CreateScopedLogger();
diff --git a/Daybreak.API/Services/Interop/UIContextService.cs b/Daybreak.API/Services/Interop/UIContextService.cs
index ab6713b2..4436191f 100644
--- a/Daybreak.API/Services/Interop/UIContextService.cs
+++ b/Daybreak.API/Services/Interop/UIContextService.cs
@@ -366,7 +366,6 @@ public sealed class UIContextService
{
*pState |= 0x200u; // set “hidden”
}
-
}
private static unsafe void SetFrameDisabledInternal(WrappedPointer frame, bool disabled)
diff --git a/Daybreak.API/Services/MainPlayerService.cs b/Daybreak.API/Services/MainPlayerService.cs
index 119916be..16a8dca1 100644
--- a/Daybreak.API/Services/MainPlayerService.cs
+++ b/Daybreak.API/Services/MainPlayerService.cs
@@ -12,7 +12,6 @@ using System.Collections.Concurrent;
using System.Core.Extensions;
using System.Extensions;
using System.Extensions.Core;
-using System.Logging;
using System.Runtime.CompilerServices;
using ZLinq;
using InstanceType = Daybreak.API.Interop.GuildWars.InstanceType;
diff --git a/Daybreak.API/Services/PartyService.cs b/Daybreak.API/Services/PartyService.cs
index d504f331..2968599a 100644
--- a/Daybreak.API/Services/PartyService.cs
+++ b/Daybreak.API/Services/PartyService.cs
@@ -9,7 +9,6 @@ using Daybreak.Shared.Services.BuildTemplates;
using System.Core.Extensions;
using System.Extensions;
using System.Extensions.Core;
-using System.Windows.Navigation;
using ZLinq;
using InstanceType = Daybreak.API.Interop.GuildWars.InstanceType;
diff --git a/Daybreak.API/Services/UIService.cs b/Daybreak.API/Services/UIService.cs
index 951212f3..b9849a06 100644
--- a/Daybreak.API/Services/UIService.cs
+++ b/Daybreak.API/Services/UIService.cs
@@ -81,7 +81,6 @@ public sealed class UIService(
{
await this.Keypress(uiAction, null, CancellationToken.None);
}
-
}, CancellationToken.None);
});
}
diff --git a/Daybreak.Installer/Daybreak.Installer.csproj b/Daybreak.Installer/Daybreak.Installer.csproj
index d5251a94..76f2b29b 100644
--- a/Daybreak.Installer/Daybreak.Installer.csproj
+++ b/Daybreak.Installer/Daybreak.Installer.csproj
@@ -10,7 +10,6 @@
win-x86
true
true
- 0.9.9.76
diff --git a/Daybreak.Shared/Converters/AttributeJsonConverter.cs b/Daybreak.Shared/Converters/AttributeJsonConverter.cs
index 9c359360..942e2abc 100644
--- a/Daybreak.Shared/Converters/AttributeJsonConverter.cs
+++ b/Daybreak.Shared/Converters/AttributeJsonConverter.cs
@@ -1,5 +1,4 @@
using Newtonsoft.Json;
-using System;
namespace Daybreak.Shared.Converters;
public sealed class AttributeJsonConverter : JsonConverter
diff --git a/Daybreak.Shared/Converters/BooleanToEffectConverter.cs b/Daybreak.Shared/Converters/BooleanToEffectConverter.cs
index 62b75192..90fff9c7 100644
--- a/Daybreak.Shared/Converters/BooleanToEffectConverter.cs
+++ b/Daybreak.Shared/Converters/BooleanToEffectConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Globalization;
+using System.Globalization;
using System.Windows.Data;
using System.Windows.Media.Effects;
diff --git a/Daybreak.Shared/Converters/BooleanToGridLengthConverter.cs b/Daybreak.Shared/Converters/BooleanToGridLengthConverter.cs
index 004aa2ca..8849b873 100644
--- a/Daybreak.Shared/Converters/BooleanToGridLengthConverter.cs
+++ b/Daybreak.Shared/Converters/BooleanToGridLengthConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Extensions;
+using System.Extensions;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
@@ -22,7 +21,7 @@ public sealed class BooleanToGridLengthConverter : IValueConverter
throw new NotImplementedException();
}
- private object GetVisibility(object value)
+ private GridLength GetVisibility(object value)
{
if (value is not bool)
{
diff --git a/Daybreak.Shared/Converters/BooleanToVisibilityConverter.cs b/Daybreak.Shared/Converters/BooleanToVisibilityConverter.cs
index 8a3e4458..0454d281 100644
--- a/Daybreak.Shared/Converters/BooleanToVisibilityConverter.cs
+++ b/Daybreak.Shared/Converters/BooleanToVisibilityConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Extensions;
+using System.Extensions;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
@@ -38,12 +37,12 @@ public class BooleanToVisibilityConverter : IValueConverter
}
var objValue = value.Cast();
- if (objValue && this.TriggerValue && this.IsHidden || !objValue && !this.TriggerValue && this.IsHidden)
+ if ((objValue && this.TriggerValue && this.IsHidden) || (!objValue && !this.TriggerValue && this.IsHidden))
{
return Visibility.Hidden;
}
- if (objValue && this.TriggerValue && !this.IsHidden || !objValue && !this.TriggerValue && !this.IsHidden)
+ if ((objValue && this.TriggerValue && !this.IsHidden) || (!objValue && !this.TriggerValue && !this.IsHidden))
{
return Visibility.Collapsed;
}
diff --git a/Daybreak.Shared/Converters/CampaignJsonConverter.cs b/Daybreak.Shared/Converters/CampaignJsonConverter.cs
index b776912a..da730a8b 100644
--- a/Daybreak.Shared/Converters/CampaignJsonConverter.cs
+++ b/Daybreak.Shared/Converters/CampaignJsonConverter.cs
@@ -1,6 +1,5 @@
using Daybreak.Shared.Models.Guildwars;
using Newtonsoft.Json;
-using System;
namespace Daybreak.Shared.Converters;
public sealed class CampaignJsonConverter : JsonConverter
diff --git a/Daybreak.Shared/Converters/ContinentJsonConverter.cs b/Daybreak.Shared/Converters/ContinentJsonConverter.cs
index 5c9d78e3..cdb9f35d 100644
--- a/Daybreak.Shared/Converters/ContinentJsonConverter.cs
+++ b/Daybreak.Shared/Converters/ContinentJsonConverter.cs
@@ -1,6 +1,5 @@
using Daybreak.Shared.Models.Guildwars;
using Newtonsoft.Json;
-using System;
namespace Daybreak.Shared.Converters;
public sealed class ContinentJsonConverter : JsonConverter
diff --git a/Daybreak.Shared/Converters/DateTimeConverter.cs b/Daybreak.Shared/Converters/DateTimeConverter.cs
index 03337f41..926b17f4 100644
--- a/Daybreak.Shared/Converters/DateTimeConverter.cs
+++ b/Daybreak.Shared/Converters/DateTimeConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Globalization;
+using System.Globalization;
using System.Windows.Data;
namespace Daybreak.Shared.Converters;
diff --git a/Daybreak.Shared/Converters/DoubleMultiplierConverter.cs b/Daybreak.Shared/Converters/DoubleMultiplierConverter.cs
index 0cc365ec..bf625ecd 100644
--- a/Daybreak.Shared/Converters/DoubleMultiplierConverter.cs
+++ b/Daybreak.Shared/Converters/DoubleMultiplierConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Globalization;
+using System.Globalization;
using System.Windows.Data;
namespace Daybreak.Shared.Converters;
diff --git a/Daybreak.Shared/Converters/EqualityToVisibilityConverter.cs b/Daybreak.Shared/Converters/EqualityToVisibilityConverter.cs
index 35f98695..82302681 100644
--- a/Daybreak.Shared/Converters/EqualityToVisibilityConverter.cs
+++ b/Daybreak.Shared/Converters/EqualityToVisibilityConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Globalization;
+using System.Globalization;
using System.Windows;
using System.Windows.Data;
diff --git a/Daybreak.Shared/Converters/EventCalendarDayToBrushConverter.cs b/Daybreak.Shared/Converters/EventCalendarDayToBrushConverter.cs
index 19887c5d..1b982c74 100644
--- a/Daybreak.Shared/Converters/EventCalendarDayToBrushConverter.cs
+++ b/Daybreak.Shared/Converters/EventCalendarDayToBrushConverter.cs
@@ -1,9 +1,7 @@
using Daybreak.Shared.Models.Guildwars;
using Daybreak.Shared.Services.Events;
using Microsoft.Extensions.DependencyInjection;
-using System;
using System.Globalization;
-using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
diff --git a/Daybreak.Shared/Converters/EventToBrushConverter.cs b/Daybreak.Shared/Converters/EventToBrushConverter.cs
index 74dc9dba..2d85d51d 100644
--- a/Daybreak.Shared/Converters/EventToBrushConverter.cs
+++ b/Daybreak.Shared/Converters/EventToBrushConverter.cs
@@ -1,7 +1,5 @@
using Daybreak.Shared.Models;
using Daybreak.Shared.Models.Guildwars;
-using System;
-using System.Collections.Generic;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Media;
diff --git a/Daybreak.Shared/Converters/HiddenWhenNull.cs b/Daybreak.Shared/Converters/HiddenWhenNull.cs
index 14fdc760..8c1d1202 100644
--- a/Daybreak.Shared/Converters/HiddenWhenNull.cs
+++ b/Daybreak.Shared/Converters/HiddenWhenNull.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Globalization;
+using System.Globalization;
using System.Windows;
using System.Windows.Data;
@@ -9,7 +8,7 @@ public class HiddenWhenNull : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
- return this.GetVerticalAlignment(value);
+ return GetVerticalAlignment(value);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
@@ -17,7 +16,7 @@ public class HiddenWhenNull : IValueConverter
throw new NotImplementedException();
}
- private object GetVerticalAlignment(object value)
+ private static object GetVerticalAlignment(object value)
{
if (value is null)
{
diff --git a/Daybreak.Shared/Converters/IntToStringConverter.cs b/Daybreak.Shared/Converters/IntToStringConverter.cs
index a54cbc9f..c0581be8 100644
--- a/Daybreak.Shared/Converters/IntToStringConverter.cs
+++ b/Daybreak.Shared/Converters/IntToStringConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Globalization;
+using System.Globalization;
using System.Windows.Data;
namespace Daybreak.Shared.Converters;
diff --git a/Daybreak.Shared/Converters/InverseBooleanConverter.cs b/Daybreak.Shared/Converters/InverseBooleanConverter.cs
index a437ced5..47b1f2bb 100644
--- a/Daybreak.Shared/Converters/InverseBooleanConverter.cs
+++ b/Daybreak.Shared/Converters/InverseBooleanConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Windows.Data;
+using System.Windows.Data;
namespace Daybreak.Shared.Converters;
diff --git a/Daybreak.Shared/Converters/ItemBaseJsonConverter.cs b/Daybreak.Shared/Converters/ItemBaseJsonConverter.cs
index 62a533fe..2b33e455 100644
--- a/Daybreak.Shared/Converters/ItemBaseJsonConverter.cs
+++ b/Daybreak.Shared/Converters/ItemBaseJsonConverter.cs
@@ -1,6 +1,5 @@
using Daybreak.Shared.Models.Guildwars;
using Newtonsoft.Json;
-using System;
namespace Daybreak.Shared.Converters;
public sealed class ItemBaseJsonConverter : JsonConverter
@@ -18,7 +17,7 @@ public sealed class ItemBaseJsonConverter : JsonConverter
{
case JsonToken.String:
var name = reader.ReadAsString();
- if (name is not string ||
+ if (name is null ||
!ItemBase.TryParse(name, out var namedItem))
{
return default;
diff --git a/Daybreak.Shared/Converters/ItemBaseToIntConverter.cs b/Daybreak.Shared/Converters/ItemBaseToIntConverter.cs
index f73d9103..ca1c1801 100644
--- a/Daybreak.Shared/Converters/ItemBaseToIntConverter.cs
+++ b/Daybreak.Shared/Converters/ItemBaseToIntConverter.cs
@@ -1,5 +1,4 @@
using Daybreak.Shared.Models.Guildwars;
-using System;
using System.Globalization;
using System.Windows.Data;
diff --git a/Daybreak.Shared/Converters/ItemBaseToStringConverter.cs b/Daybreak.Shared/Converters/ItemBaseToStringConverter.cs
index 593b1064..caaeeb7a 100644
--- a/Daybreak.Shared/Converters/ItemBaseToStringConverter.cs
+++ b/Daybreak.Shared/Converters/ItemBaseToStringConverter.cs
@@ -1,5 +1,4 @@
using Daybreak.Shared.Models.Guildwars;
-using System;
using System.Globalization;
using System.Windows.Data;
diff --git a/Daybreak.Shared/Converters/MapJsonConverter.cs b/Daybreak.Shared/Converters/MapJsonConverter.cs
index f90bd3dd..a797e434 100644
--- a/Daybreak.Shared/Converters/MapJsonConverter.cs
+++ b/Daybreak.Shared/Converters/MapJsonConverter.cs
@@ -1,6 +1,5 @@
using Daybreak.Shared.Models.Guildwars;
using Newtonsoft.Json;
-using System;
namespace Daybreak.Shared.Converters;
public sealed class MapJsonConverter : JsonConverter
diff --git a/Daybreak.Shared/Converters/MenuButtonHighlightConverter.cs b/Daybreak.Shared/Converters/MenuButtonHighlightConverter.cs
index e090ffc5..39870989 100644
--- a/Daybreak.Shared/Converters/MenuButtonHighlightConverter.cs
+++ b/Daybreak.Shared/Converters/MenuButtonHighlightConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Globalization;
+using System.Globalization;
using System.Windows.Data;
namespace Daybreak.Shared.Converters;
diff --git a/Daybreak.Shared/Converters/NpcJsonConverter.cs b/Daybreak.Shared/Converters/NpcJsonConverter.cs
index 651ea351..03a268c8 100644
--- a/Daybreak.Shared/Converters/NpcJsonConverter.cs
+++ b/Daybreak.Shared/Converters/NpcJsonConverter.cs
@@ -1,7 +1,5 @@
using Daybreak.Shared.Models.Guildwars;
using Newtonsoft.Json;
-using System;
-using System.Linq;
namespace Daybreak.Shared.Converters;
public sealed class NpcJsonConverter : JsonConverter
diff --git a/Daybreak.Shared/Converters/NullToUnsetValueConverter.cs b/Daybreak.Shared/Converters/NullToUnsetValueConverter.cs
index 33361542..2c59bc7f 100644
--- a/Daybreak.Shared/Converters/NullToUnsetValueConverter.cs
+++ b/Daybreak.Shared/Converters/NullToUnsetValueConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Globalization;
+using System.Globalization;
using System.Windows.Data;
using System.Windows;
diff --git a/Daybreak.Shared/Converters/PriceToStringConverter.cs b/Daybreak.Shared/Converters/PriceToStringConverter.cs
index 1b33dd6f..96b4838e 100644
--- a/Daybreak.Shared/Converters/PriceToStringConverter.cs
+++ b/Daybreak.Shared/Converters/PriceToStringConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Globalization;
+using System.Globalization;
using System.Windows.Data;
namespace Daybreak.Shared.Converters;
diff --git a/Daybreak.Shared/Converters/ProfessionJsonConverter.cs b/Daybreak.Shared/Converters/ProfessionJsonConverter.cs
index 6f6a5418..08232e2e 100644
--- a/Daybreak.Shared/Converters/ProfessionJsonConverter.cs
+++ b/Daybreak.Shared/Converters/ProfessionJsonConverter.cs
@@ -1,6 +1,5 @@
using Daybreak.Shared.Models.Guildwars;
using Newtonsoft.Json;
-using System;
namespace Daybreak.Shared.Converters;
public sealed class ProfessionJsonConverter : JsonConverter
diff --git a/Daybreak.Shared/Converters/QuestJsonConverter.cs b/Daybreak.Shared/Converters/QuestJsonConverter.cs
index e046ef77..640bcc2f 100644
--- a/Daybreak.Shared/Converters/QuestJsonConverter.cs
+++ b/Daybreak.Shared/Converters/QuestJsonConverter.cs
@@ -1,6 +1,5 @@
using Daybreak.Shared.Models.Guildwars;
using Newtonsoft.Json;
-using System;
namespace Daybreak.Shared.Converters;
public sealed class QuestJsonConverter : JsonConverter
diff --git a/Daybreak.Shared/Converters/RegionJsonConverter.cs b/Daybreak.Shared/Converters/RegionJsonConverter.cs
index a5d171fd..29d711d2 100644
--- a/Daybreak.Shared/Converters/RegionJsonConverter.cs
+++ b/Daybreak.Shared/Converters/RegionJsonConverter.cs
@@ -1,6 +1,5 @@
using Daybreak.Shared.Models.Guildwars;
using Newtonsoft.Json;
-using System;
namespace Daybreak.Shared.Converters;
public sealed class RegionJsonConverter : JsonConverter
diff --git a/Daybreak.Shared/Converters/SkillJsonConverter.cs b/Daybreak.Shared/Converters/SkillJsonConverter.cs
index c6c79049..185a4e56 100644
--- a/Daybreak.Shared/Converters/SkillJsonConverter.cs
+++ b/Daybreak.Shared/Converters/SkillJsonConverter.cs
@@ -1,6 +1,5 @@
using Daybreak.Shared.Models.Guildwars;
using Newtonsoft.Json;
-using System;
namespace Daybreak.Shared.Converters;
public sealed class SkillJsonConverter : JsonConverter
diff --git a/Daybreak.Shared/Converters/TileButtonHighlightConverter.cs b/Daybreak.Shared/Converters/TileButtonHighlightConverter.cs
index 98fa3fb7..81b24acd 100644
--- a/Daybreak.Shared/Converters/TileButtonHighlightConverter.cs
+++ b/Daybreak.Shared/Converters/TileButtonHighlightConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Globalization;
+using System.Globalization;
using System.Windows.Data;
namespace Daybreak.Shared.Converters;
diff --git a/Daybreak.Shared/Converters/TimeSinceDateTimeConverter.cs b/Daybreak.Shared/Converters/TimeSinceDateTimeConverter.cs
index a887b134..0c83330e 100644
--- a/Daybreak.Shared/Converters/TimeSinceDateTimeConverter.cs
+++ b/Daybreak.Shared/Converters/TimeSinceDateTimeConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Globalization;
+using System.Globalization;
using System.Windows.Data;
namespace Daybreak.Shared.Converters;
@@ -10,7 +9,7 @@ public sealed class TimeSinceDateTimeConverter : IValueConverter
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
- return this.GetTimeString(value);
+ return GetTimeString(value) ?? string.Empty;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
@@ -18,11 +17,11 @@ public sealed class TimeSinceDateTimeConverter : IValueConverter
throw new NotImplementedException();
}
- private object GetTimeString(object value)
+ private static string? GetTimeString(object value)
{
if (value is not DateTime dateTime)
{
- return default!;
+ return default;
}
var difference = DateTime.Now - dateTime;
diff --git a/Daybreak.Shared/Converters/TimespanToETAConverter.cs b/Daybreak.Shared/Converters/TimespanToETAConverter.cs
index f6df93bb..033bafa7 100644
--- a/Daybreak.Shared/Converters/TimespanToETAConverter.cs
+++ b/Daybreak.Shared/Converters/TimespanToETAConverter.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Globalization;
+using System.Globalization;
using System.Windows.Data;
namespace Daybreak.Shared.Converters;
diff --git a/Daybreak.Shared/Converters/TitleJsonConverter.cs b/Daybreak.Shared/Converters/TitleJsonConverter.cs
index 67c9ee7f..2f2a74a5 100644
--- a/Daybreak.Shared/Converters/TitleJsonConverter.cs
+++ b/Daybreak.Shared/Converters/TitleJsonConverter.cs
@@ -1,6 +1,5 @@
using Daybreak.Shared.Models.Guildwars;
using Newtonsoft.Json;
-using System;
namespace Daybreak.Shared.Converters;
public sealed class TitleJsonConverter : JsonConverter
diff --git a/Daybreak.Shared/Converters/TradeAlertConverter.cs b/Daybreak.Shared/Converters/TradeAlertConverter.cs
index c7b4fdc1..65ba7e91 100644
--- a/Daybreak.Shared/Converters/TradeAlertConverter.cs
+++ b/Daybreak.Shared/Converters/TradeAlertConverter.cs
@@ -1,19 +1,13 @@
using Daybreak.Shared.Models.Trade;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
-using System;
namespace Daybreak.Shared.Converters;
public sealed class TradeAlertConverter : JsonConverter
{
public override ITradeAlert? ReadJson(JsonReader reader, Type objectType, ITradeAlert? existingValue, bool hasExistingValue, JsonSerializer serializer)
{
- var jObject = JObject.Load(reader).ToObject();
- if (jObject is null)
- {
- throw new InvalidOperationException($"Unable to deserialize {nameof(ITradeAlert)}");
- }
-
+ var jObject = JObject.Load(reader).ToObject() ?? throw new InvalidOperationException($"Unable to deserialize {nameof(ITradeAlert)}");
if (jObject[nameof(TradeAlert.MessageCheck)] is null)
{
return new QuoteAlert
@@ -51,10 +45,12 @@ public sealed class TradeAlertConverter : JsonConverter
return;
}
- var jObject = new JObject();
- jObject[nameof(ITradeAlert.Name)] = value.Name;
- jObject[nameof(ITradeAlert.Enabled)] = value.Enabled;
- jObject[nameof(ITradeAlert.Id)] = value.Id;
+ var jObject = new JObject
+ {
+ [nameof(ITradeAlert.Name)] = value.Name,
+ [nameof(ITradeAlert.Enabled)] = value.Enabled,
+ [nameof(ITradeAlert.Id)] = value.Id
+ };
if (value is TradeAlert tradeAlert)
{
jObject[nameof(TradeAlert.MessageCheck)] = tradeAlert.MessageCheck;
diff --git a/Daybreak.Shared/Converters/TraderQuoteTypeToStringConverter.cs b/Daybreak.Shared/Converters/TraderQuoteTypeToStringConverter.cs
index 77da712e..90128059 100644
--- a/Daybreak.Shared/Converters/TraderQuoteTypeToStringConverter.cs
+++ b/Daybreak.Shared/Converters/TraderQuoteTypeToStringConverter.cs
@@ -1,5 +1,4 @@
using Daybreak.Shared.Models.Trade;
-using System;
using System.Globalization;
using System.Windows.Data;
diff --git a/Daybreak.Shared/Daybreak.Shared.csproj b/Daybreak.Shared/Daybreak.Shared.csproj
index 1f33d89c..93a03ec7 100644
--- a/Daybreak.Shared/Daybreak.Shared.csproj
+++ b/Daybreak.Shared/Daybreak.Shared.csproj
@@ -9,23 +9,23 @@
-
-
-
+
+
+
runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Daybreak.Shared/Exceptions/CredentialsNotFoundException.cs b/Daybreak.Shared/Exceptions/CredentialsNotFoundException.cs
index c3f186f7..18f365b0 100644
--- a/Daybreak.Shared/Exceptions/CredentialsNotFoundException.cs
+++ b/Daybreak.Shared/Exceptions/CredentialsNotFoundException.cs
@@ -1,6 +1,4 @@
-using System;
-
-namespace Daybreak.Shared.Exceptions;
+namespace Daybreak.Shared.Exceptions;
public sealed class CredentialsNotFoundException : Exception
{
diff --git a/Daybreak.Shared/Exceptions/ExecutableNotFoundException.cs b/Daybreak.Shared/Exceptions/ExecutableNotFoundException.cs
index b71758e3..e50ce566 100644
--- a/Daybreak.Shared/Exceptions/ExecutableNotFoundException.cs
+++ b/Daybreak.Shared/Exceptions/ExecutableNotFoundException.cs
@@ -1,6 +1,4 @@
-using System;
-
-namespace Daybreak.Shared.Exceptions;
+namespace Daybreak.Shared.Exceptions;
public sealed class ExecutableNotFoundException : Exception
{
diff --git a/Daybreak.Shared/Exceptions/FatalException.cs b/Daybreak.Shared/Exceptions/FatalException.cs
index 959be632..817f215e 100644
--- a/Daybreak.Shared/Exceptions/FatalException.cs
+++ b/Daybreak.Shared/Exceptions/FatalException.cs
@@ -1,6 +1,4 @@
-using System;
-
-namespace Daybreak.Shared.Exceptions;
+namespace Daybreak.Shared.Exceptions;
public sealed class FatalException : Exception
{
diff --git a/Daybreak.Shared/Global.cs b/Daybreak.Shared/Global.cs
index 9785dd20..0c2d4ec9 100644
--- a/Daybreak.Shared/Global.cs
+++ b/Daybreak.Shared/Global.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Runtime.CompilerServices;
+using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Daybreak")]
diff --git a/Daybreak.Shared/Models/Api/BuildEntry.cs b/Daybreak.Shared/Models/Api/BuildEntry.cs
index 64b11e1d..110bfaf5 100644
--- a/Daybreak.Shared/Models/Api/BuildEntry.cs
+++ b/Daybreak.Shared/Models/Api/BuildEntry.cs
@@ -1,6 +1,4 @@
-using System.Collections.Generic;
-
-namespace Daybreak.Shared.Models.Api;
+namespace Daybreak.Shared.Models.Api;
public sealed record BuildEntry(int Primary, int Secondary, List Attributes, List Skills)
{
}
diff --git a/Daybreak.Shared/Models/Api/CharacterSelectInformation.cs b/Daybreak.Shared/Models/Api/CharacterSelectInformation.cs
index 7f71a282..10f3e950 100644
--- a/Daybreak.Shared/Models/Api/CharacterSelectInformation.cs
+++ b/Daybreak.Shared/Models/Api/CharacterSelectInformation.cs
@@ -1,6 +1,4 @@
-using System.Collections.Generic;
-
-namespace Daybreak.Shared.Models.Api;
+namespace Daybreak.Shared.Models.Api;
public sealed record CharacterSelectInformation(CharacterSelectEntry? CurrentCharacter, List CharacterNames)
{
diff --git a/Daybreak.Shared/Models/Api/PartyLoadout.cs b/Daybreak.Shared/Models/Api/PartyLoadout.cs
index 0783526d..4077f351 100644
--- a/Daybreak.Shared/Models/Api/PartyLoadout.cs
+++ b/Daybreak.Shared/Models/Api/PartyLoadout.cs
@@ -1,6 +1,4 @@
-using System.Collections.Generic;
-
-namespace Daybreak.Shared.Models.Api;
+namespace Daybreak.Shared.Models.Api;
public sealed record PartyLoadout(List Entries)
{
}
diff --git a/Daybreak.Shared/Models/Api/QuestLogInformation.cs b/Daybreak.Shared/Models/Api/QuestLogInformation.cs
index 63337370..48dc6bb0 100644
--- a/Daybreak.Shared/Models/Api/QuestLogInformation.cs
+++ b/Daybreak.Shared/Models/Api/QuestLogInformation.cs
@@ -1,6 +1,4 @@
-using System.Collections.Generic;
-
-namespace Daybreak.Shared.Models.Api;
+namespace Daybreak.Shared.Models.Api;
public sealed record QuestLogInformation(uint CurrentQuestId, IReadOnlyList Quests)
{
}
diff --git a/Daybreak.Shared/Models/BatchedObservableCollection.cs b/Daybreak.Shared/Models/BatchedObservableCollection.cs
index d4007261..a0903ab0 100644
--- a/Daybreak.Shared/Models/BatchedObservableCollection.cs
+++ b/Daybreak.Shared/Models/BatchedObservableCollection.cs
@@ -1,5 +1,4 @@
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
+using System.Collections.ObjectModel;
using System.Collections.Specialized;
namespace Daybreak.Shared.Models;
diff --git a/Daybreak.Shared/Models/Browser/BrowserHistory.cs b/Daybreak.Shared/Models/Browser/BrowserHistory.cs
index 4a9b2eb9..9b1487a9 100644
--- a/Daybreak.Shared/Models/Browser/BrowserHistory.cs
+++ b/Daybreak.Shared/Models/Browser/BrowserHistory.cs
@@ -1,6 +1,4 @@
-using System.Collections.Generic;
-
-namespace Daybreak.Shared.Models.Browser;
+namespace Daybreak.Shared.Models.Browser;
public sealed class BrowserHistory
{
public List History { get; set; } = [];
diff --git a/Daybreak.Shared/Models/Builds/AttributeEntry.cs b/Daybreak.Shared/Models/Builds/AttributeEntry.cs
index c2b5ffb6..30eaac00 100644
--- a/Daybreak.Shared/Models/Builds/AttributeEntry.cs
+++ b/Daybreak.Shared/Models/Builds/AttributeEntry.cs
@@ -5,26 +5,23 @@ namespace Daybreak.Shared.Models.Builds;
public sealed class AttributeEntry : INotifyPropertyChanged
{
- private Attribute? attribute;
- private int points;
-
public event PropertyChangedEventHandler? PropertyChanged;
public Attribute? Attribute
{
- get => this.attribute;
+ get;
set
{
- this.attribute = value;
+ field = value;
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(this.Attribute)));
}
}
public int Points
{
- get => this.points;
+ get;
set
{
- this.points = value;
+ field = value;
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(this.Points)));
}
}
diff --git a/Daybreak.Shared/Models/Builds/IBuildEntry.cs b/Daybreak.Shared/Models/Builds/IBuildEntry.cs
index 325cf946..03282a31 100644
--- a/Daybreak.Shared/Models/Builds/IBuildEntry.cs
+++ b/Daybreak.Shared/Models/Builds/IBuildEntry.cs
@@ -1,7 +1,4 @@
-using System;
-using System.Collections.Generic;
-
-namespace Daybreak.Shared.Models.Builds;
+namespace Daybreak.Shared.Models.Builds;
public interface IBuildEntry
{
public DateTimeOffset CreationTime { get; set; }
diff --git a/Daybreak.Shared/Models/Builds/SingleBuildEntry.cs b/Daybreak.Shared/Models/Builds/SingleBuildEntry.cs
index 4a904f9b..a28373fa 100644
--- a/Daybreak.Shared/Models/Builds/SingleBuildEntry.cs
+++ b/Daybreak.Shared/Models/Builds/SingleBuildEntry.cs
@@ -1,8 +1,5 @@
using Daybreak.Shared.Models.Guildwars;
-using System;
-using System.Collections.Generic;
using System.ComponentModel;
-using System.Linq;
using Attribute = Daybreak.Shared.Models.Guildwars.Attribute;
namespace Daybreak.Shared.Models.Builds;
@@ -190,7 +187,7 @@ public sealed class SingleBuildEntry : BuildEntryBase, IBuildEntry, INotifyPrope
attributesToAdd.AddRange(this.Primary.Attributes);
attributesToAdd.AddRange(this.Secondary.Attributes);
- this.Attributes = attributesToAdd.Distinct().Select(attribute =>
+ this.Attributes = [.. attributesToAdd.Distinct().Select(attribute =>
{
if (this.Attributes.FirstOrDefault(attributeEntry => attributeEntry.Attribute == attribute) is AttributeEntry attributeEntry)
{
@@ -198,7 +195,7 @@ public sealed class SingleBuildEntry : BuildEntryBase, IBuildEntry, INotifyPrope
}
return new AttributeEntry { Attribute = attribute };
- }).ToList();
+ })];
}
private void UpdateSkills()
diff --git a/Daybreak.Shared/Models/Builds/TeamBuildEntry.cs b/Daybreak.Shared/Models/Builds/TeamBuildEntry.cs
index 7b5fe520..6aa50ff3 100644
--- a/Daybreak.Shared/Models/Builds/TeamBuildEntry.cs
+++ b/Daybreak.Shared/Models/Builds/TeamBuildEntry.cs
@@ -1,7 +1,4 @@
using Daybreak.Shared.Models.Guildwars;
-using System;
-using System.Collections.Generic;
-using System.Linq;
namespace Daybreak.Shared.Models.Builds;
public sealed class TeamBuildEntry : BuildEntryBase, IEquatable
diff --git a/Daybreak.Shared/Models/ColorPalette.cs b/Daybreak.Shared/Models/ColorPalette.cs
index dd8b3601..7ed3c950 100644
--- a/Daybreak.Shared/Models/ColorPalette.cs
+++ b/Daybreak.Shared/Models/ColorPalette.cs
@@ -1,5 +1,4 @@
-using System.Collections.Generic;
-using System.Windows.Media;
+using System.Windows.Media;
namespace Daybreak.Shared.Models;
public static class ColorPalette
diff --git a/Daybreak.Shared/Models/DaybreakApiContext.cs b/Daybreak.Shared/Models/DaybreakApiContext.cs
index e01feef3..0869711b 100644
--- a/Daybreak.Shared/Models/DaybreakApiContext.cs
+++ b/Daybreak.Shared/Models/DaybreakApiContext.cs
@@ -1,6 +1,4 @@
-using System;
-
-namespace Daybreak.Shared.Models;
+namespace Daybreak.Shared.Models;
public readonly struct DaybreakAPIContext(Uri apiUri)
{
public readonly Uri ApiUri = apiUri;
diff --git a/Daybreak.Shared/Models/DnsRegistrationToken.cs b/Daybreak.Shared/Models/DnsRegistrationToken.cs
index fcb6f533..19a58973 100644
--- a/Daybreak.Shared/Models/DnsRegistrationToken.cs
+++ b/Daybreak.Shared/Models/DnsRegistrationToken.cs
@@ -1,5 +1,4 @@
using MeaMod.DNS.Multicast;
-using System;
namespace Daybreak.Shared.Models;
public readonly struct DnsRegistrationToken : IDisposable
diff --git a/Daybreak.Shared/Models/ElevationRequest.cs b/Daybreak.Shared/Models/ElevationRequest.cs
index 7ce903a4..adfa4720 100644
--- a/Daybreak.Shared/Models/ElevationRequest.cs
+++ b/Daybreak.Shared/Models/ElevationRequest.cs
@@ -1,6 +1,4 @@
-using System;
-
-namespace Daybreak.Shared.Models;
+namespace Daybreak.Shared.Models;
public sealed class ElevationRequest
{
diff --git a/Daybreak.Shared/Models/ExecutablePath.cs b/Daybreak.Shared/Models/ExecutablePath.cs
index aebc3339..44d183f2 100644
--- a/Daybreak.Shared/Models/ExecutablePath.cs
+++ b/Daybreak.Shared/Models/ExecutablePath.cs
@@ -4,17 +4,15 @@ namespace Daybreak.Shared.Models;
public sealed class ExecutablePath : INotifyPropertyChanged
{
- private string path = string.Empty;
-
public event PropertyChangedEventHandler? PropertyChanged;
public string Path
{
- get => this.path;
+ get;
set
{
- this.path = value;
+ field = value;
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(this.Path)));
}
- }
+ } = string.Empty;
}
diff --git a/Daybreak.Shared/Models/FocusView/CharacterComponentContext.cs b/Daybreak.Shared/Models/FocusView/CharacterComponentContext.cs
index d5729a23..201cba0c 100644
--- a/Daybreak.Shared/Models/FocusView/CharacterComponentContext.cs
+++ b/Daybreak.Shared/Models/FocusView/CharacterComponentContext.cs
@@ -1,6 +1,4 @@
-using System.Collections.Generic;
-
-namespace Daybreak.Shared.Models.FocusView;
+namespace Daybreak.Shared.Models.FocusView;
public sealed class CharacterComponentContext
{
public required uint CurrentExperience { get; init; }
diff --git a/Daybreak.Shared/Models/FocusView/CharacterSelectComponentEntry.cs b/Daybreak.Shared/Models/FocusView/CharacterSelectComponentEntry.cs
index 70e2aac0..7ea0c934 100644
--- a/Daybreak.Shared/Models/FocusView/CharacterSelectComponentEntry.cs
+++ b/Daybreak.Shared/Models/FocusView/CharacterSelectComponentEntry.cs
@@ -1,6 +1,4 @@
-using System;
-
-namespace Daybreak.Shared.Models.FocusView;
+namespace Daybreak.Shared.Models.FocusView;
public sealed class CharacterSelectComponentEntry : IEquatable
{
public required string DisplayName { get; init; }
diff --git a/Daybreak.Shared/Models/FocusView/QuestLogComponentContext.cs b/Daybreak.Shared/Models/FocusView/QuestLogComponentContext.cs
index 3d098223..71197c28 100644
--- a/Daybreak.Shared/Models/FocusView/QuestLogComponentContext.cs
+++ b/Daybreak.Shared/Models/FocusView/QuestLogComponentContext.cs
@@ -1,5 +1,4 @@
using Daybreak.Shared.Models.Guildwars;
-using System.Collections.Generic;
namespace Daybreak.Shared.Models.FocusView;
public sealed class QuestLogComponentContext
diff --git a/Daybreak.Shared/Models/GuildWarsUpdateRequest.cs b/Daybreak.Shared/Models/GuildWarsUpdateRequest.cs
index 3f723d57..175876f5 100644
--- a/Daybreak.Shared/Models/GuildWarsUpdateRequest.cs
+++ b/Daybreak.Shared/Models/GuildWarsUpdateRequest.cs
@@ -1,5 +1,4 @@
using Daybreak.Shared.Models.Progress;
-using System.Threading;
namespace Daybreak.Shared.Models;
public sealed class GuildWarsUpdateRequest
diff --git a/Daybreak.Shared/Models/Guildwars/Attribute.cs b/Daybreak.Shared/Models/Guildwars/Attribute.cs
index 6694301c..7eb523a2 100644
--- a/Daybreak.Shared/Models/Guildwars/Attribute.cs
+++ b/Daybreak.Shared/Models/Guildwars/Attribute.cs
@@ -1,8 +1,5 @@
using Daybreak.Shared.Converters;
using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
namespace Daybreak.Shared.Models.Guildwars;
diff --git a/Daybreak.Shared/Models/Guildwars/Build.cs b/Daybreak.Shared/Models/Guildwars/Build.cs
index 822ce2fa..7355625c 100644
--- a/Daybreak.Shared/Models/Guildwars/Build.cs
+++ b/Daybreak.Shared/Models/Guildwars/Build.cs
@@ -1,5 +1,4 @@
-using System.Collections.Generic;
-using Daybreak.Shared.Models.Builds;
+using Daybreak.Shared.Models.Builds;
namespace Daybreak.Shared.Models.Guildwars;
diff --git a/Daybreak.Shared/Models/Guildwars/BuildEntryBase.cs b/Daybreak.Shared/Models/Guildwars/BuildEntryBase.cs
index 7d2eaa8b..d22d7078 100644
--- a/Daybreak.Shared/Models/Guildwars/BuildEntryBase.cs
+++ b/Daybreak.Shared/Models/Guildwars/BuildEntryBase.cs
@@ -1,7 +1,5 @@
using Daybreak.Shared.Models.Builds;
using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
using System.ComponentModel;
namespace Daybreak.Shared.Models.Guildwars;
diff --git a/Daybreak.Shared/Models/Guildwars/BuildMetadata.cs b/Daybreak.Shared/Models/Guildwars/BuildMetadata.cs
index a661f2cb..0a18eeee 100644
--- a/Daybreak.Shared/Models/Guildwars/BuildMetadata.cs
+++ b/Daybreak.Shared/Models/Guildwars/BuildMetadata.cs
@@ -1,6 +1,4 @@
-using System.Collections.Generic;
-
-namespace Daybreak.Shared.Models.Guildwars;
+namespace Daybreak.Shared.Models.Guildwars;
public sealed class BuildMetadata
{
diff --git a/Daybreak.Shared/Models/Guildwars/Campaign.cs b/Daybreak.Shared/Models/Guildwars/Campaign.cs
index afdc2cba..a5ccbcef 100644
--- a/Daybreak.Shared/Models/Guildwars/Campaign.cs
+++ b/Daybreak.Shared/Models/Guildwars/Campaign.cs
@@ -1,8 +1,5 @@
using Daybreak.Shared.Converters;
using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
namespace Daybreak.Shared.Models.Guildwars;
@@ -14,11 +11,11 @@ public sealed class Campaign
Id = 0,
Name = "Core",
WikiUrl = "https://wiki.guildwars.com/wiki/Guild_Wars_Core",
- Continents = new List
- {
+ Continents =
+ [
Continent.TheBattleIsles,
Continent.TheMists
- }
+ ]
};
public static Campaign Prophecies { get; } = new()
@@ -26,10 +23,10 @@ public sealed class Campaign
Id = 1,
Name = "Prophecies",
WikiUrl = "https://wiki.guildwars.com/wiki/Guild_Wars_Prophecies",
- Continents = new List
- {
+ Continents =
+ [
Continent.Tyria
- }
+ ]
};
public static Campaign Factions { get; } = new()
@@ -37,10 +34,10 @@ public sealed class Campaign
Id = 2,
Name = "Factions",
WikiUrl = "https://wiki.guildwars.com/wiki/Guild_Wars_Factions",
- Continents = new List
- {
+ Continents =
+ [
Continent.Cantha
- }
+ ]
};
public static Campaign Nightfall { get; } = new()
@@ -48,11 +45,11 @@ public sealed class Campaign
Id = 3,
Name = "Nightfall",
WikiUrl = "https://wiki.guildwars.com/wiki/Guild_Wars_Nightfall",
- Continents = new List
- {
+ Continents =
+ [
Continent.Elona,
Continent.RealmOfTorment
- }
+ ]
};
public static Campaign EyeOfTheNorth { get; } = new()
@@ -60,10 +57,10 @@ public sealed class Campaign
Id = 4,
Name = "Eye of the North",
WikiUrl = "https://wiki.guildwars.com/wiki/Guild_Wars_Eye_of_the_North",
- Continents = new List
- {
+ Continents =
+ [
Continent.Tyria
- }
+ ]
};
public static Campaign BonusMissionPack { get; } = new()
@@ -71,23 +68,23 @@ public sealed class Campaign
Id = 5,
Name = "Bonus Mission Pack",
WikiUrl = "https://wiki.guildwars.com/wiki/Guild_Wars_Bonus_Mission_Pack",
- Continents = new List
- {
+ Continents =
+ [
Continent.Tyria,
Continent.Elona,
Continent.Cantha
- }
+ ]
};
- public static IReadOnlyList Campaigns { get; } = new List
- {
+ public static IReadOnlyList Campaigns { get; } =
+ [
Core,
Prophecies,
Factions,
Nightfall,
EyeOfTheNorth,
BonusMissionPack
- };
+ ];
public static bool TryParse(int id, out Campaign campaign)
{
diff --git a/Daybreak.Shared/Models/Guildwars/Continent.cs b/Daybreak.Shared/Models/Guildwars/Continent.cs
index e788e1e5..275ee2b8 100644
--- a/Daybreak.Shared/Models/Guildwars/Continent.cs
+++ b/Daybreak.Shared/Models/Guildwars/Continent.cs
@@ -1,8 +1,5 @@
using Daybreak.Shared.Converters;
using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
namespace Daybreak.Shared.Models.Guildwars;
@@ -14,8 +11,8 @@ public sealed class Continent
Id = 0,
Name = "Tyria",
WikiUrl = "https://wiki.guildwars.com/wiki/Tyria",
- Regions = new List
- {
+ Regions =
+ [
Region.Ascalon,
Region.PresearingAscalon,
Region.CrystalDesert,
@@ -29,7 +26,7 @@ public sealed class Continent
Region.TarnishedCoast,
Region.TheFlightNorth,
Region.TheRiseOfTheWhiteMantle
- }
+ ]
};
public static Continent TheMists { get; } = new Continent
@@ -37,10 +34,10 @@ public sealed class Continent
Id = 1,
Name = "The Mists",
WikiUrl = "https://wiki.guildwars.com/wiki/The_Mists",
- Regions = new List
- {
+ Regions =
+ [
Region.HeroesAscent
- }
+ ]
};
public static Continent Cantha { get; } = new Continent
@@ -48,14 +45,14 @@ public sealed class Continent
Id = 2,
Name = "Cantha",
WikiUrl = "https://wiki.guildwars.com/wiki/Cantha",
- Regions = new List
- {
+ Regions =
+ [
Region.ShingJeaIsland,
Region.KainengCity,
Region.EchovaldForest,
Region.TheJadeSea,
Region.TheTenguAccords
- }
+ ]
};
public static Continent TheBattleIsles { get; } = new Continent
@@ -63,10 +60,10 @@ public sealed class Continent
Id = 3,
Name = "The Battle Isles",
WikiUrl = "https://wiki.guildwars.com/wiki/The_Battle_Isles",
- Regions = new List
- {
+ Regions =
+ [
Region.TheBattleIsles,
- }
+ ]
};
public static Continent Elona { get; } = new Continent
@@ -74,14 +71,14 @@ public sealed class Continent
Id = 4,
Name = "Elona",
WikiUrl = "https://wiki.guildwars.com/wiki/Elona",
- Regions = new List
- {
+ Regions =
+ [
Region.Istan,
Region.Kourna,
Region.Vabbi,
Region.TheDesolation,
Region.TheBattleOfJahai
- }
+ ]
};
public static Continent RealmOfTorment { get; } = new Continent
@@ -89,21 +86,21 @@ public sealed class Continent
Id = 5,
Name = "Realm of Torment",
WikiUrl = "https://wiki.guildwars.com/wiki/Realm_of_Torment",
- Regions = new List
- {
+ Regions =
+ [
Region.RealmOfTorment
- }
+ ]
};
- public static IReadOnlyList Continents { get; } = new List
- {
+ public static IReadOnlyList Continents { get; } =
+ [
Tyria,
TheMists,
Cantha,
TheBattleIsles,
Elona,
RealmOfTorment
- };
+ ];
public static bool TryParse(int id, out Continent continent)
{
diff --git a/Daybreak.Shared/Models/Guildwars/Event.cs b/Daybreak.Shared/Models/Guildwars/Event.cs
index 4a426054..69ef5bfc 100644
--- a/Daybreak.Shared/Models/Guildwars/Event.cs
+++ b/Daybreak.Shared/Models/Guildwars/Event.cs
@@ -1,7 +1,4 @@
-using System;
-using System.Collections.Generic;
-
-namespace Daybreak.Shared.Models.Guildwars;
+namespace Daybreak.Shared.Models.Guildwars;
///
/// Seasonal holidays and in-game events, as retrieved from https://www.guildwars.com/en/events.
diff --git a/Daybreak.Shared/Models/Guildwars/Hero.cs b/Daybreak.Shared/Models/Guildwars/Hero.cs
index 269de8d2..736592f2 100644
--- a/Daybreak.Shared/Models/Guildwars/Hero.cs
+++ b/Daybreak.Shared/Models/Guildwars/Hero.cs
@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace Daybreak.Shared.Models.Guildwars;
+namespace Daybreak.Shared.Models.Guildwars;
public sealed class Hero : IWikiEntity
{
public static readonly Hero None = new() { Id = 0, Profession = Profession.None, Name = string.Empty, WikiUrl = string.Empty };
diff --git a/Daybreak.Shared/Models/Guildwars/Inscription.cs b/Daybreak.Shared/Models/Guildwars/Inscription.cs
index 0172977d..b7d7366a 100644
--- a/Daybreak.Shared/Models/Guildwars/Inscription.cs
+++ b/Daybreak.Shared/Models/Guildwars/Inscription.cs
@@ -1,6 +1,4 @@
-using System.Collections.Generic;
-
-namespace Daybreak.Shared.Models.Guildwars;
+namespace Daybreak.Shared.Models.Guildwars;
public sealed class Inscription : ItemBase, IWikiEntity, IIconUrlEntity
{
diff --git a/Daybreak.Shared/Models/Guildwars/ItemBase.cs b/Daybreak.Shared/Models/Guildwars/ItemBase.cs
index e1c5f65e..cff19b38 100644
--- a/Daybreak.Shared/Models/Guildwars/ItemBase.cs
+++ b/Daybreak.Shared/Models/Guildwars/ItemBase.cs
@@ -1,8 +1,5 @@
using Daybreak.Shared.Converters;
using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
namespace Daybreak.Shared.Models.Guildwars;
diff --git a/Daybreak.Shared/Models/Guildwars/Map.cs b/Daybreak.Shared/Models/Guildwars/Map.cs
index 9a2b17f9..37c80447 100644
--- a/Daybreak.Shared/Models/Guildwars/Map.cs
+++ b/Daybreak.Shared/Models/Guildwars/Map.cs
@@ -1,8 +1,5 @@
using Daybreak.Shared.Converters;
using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
namespace Daybreak.Shared.Models.Guildwars;
@@ -716,8 +713,8 @@ public sealed class Map : IWikiEntity
public static readonly Map AshfordCatacombs1070AE = new() { Id = 876, Name = "Ashford Catacombs 1070AE", WikiUrl = "https://wiki.guildwars.com/wiki/Ashford_Catacombs:_1070_AE" };
public static readonly Map Count = new() { Id = 877, Name = "Count", WikiUrl = "" };
- public static IEnumerable