diff --git a/osu.Game/Online/API/Requests/Responses/APIMenuContent.cs b/osu.Game/Online/API/Requests/Responses/APIMenuContent.cs
index 7b53488030..6aad0f6c87 100644
--- a/osu.Game/Online/API/Requests/Responses/APIMenuContent.cs
+++ b/osu.Game/Online/API/Requests/Responses/APIMenuContent.cs
@@ -23,15 +23,7 @@ namespace osu.Game.Online.API.Requests.Responses
return Images.SequenceEqual(other.Images);
}
- public override bool Equals(object? obj)
- {
- if (ReferenceEquals(null, obj)) return false;
- if (ReferenceEquals(this, obj)) return true;
-
- if (obj.GetType() != GetType()) return false;
-
- return Equals((APIMenuContent)obj);
- }
+ public override bool Equals(object? other) => other is APIMenuContent content && Equals(content);
public override int GetHashCode()
{
diff --git a/osu.Game/Online/API/Requests/Responses/APIMenuImage.cs b/osu.Game/Online/API/Requests/Responses/APIMenuImage.cs
index 42129ca96e..8aff08099a 100644
--- a/osu.Game/Online/API/Requests/Responses/APIMenuImage.cs
+++ b/osu.Game/Online/API/Requests/Responses/APIMenuImage.cs
@@ -28,34 +28,27 @@ namespace osu.Game.Online.API.Requests.Responses
/// The time at which this item should begin displaying. If null, will display immediately.
///
[JsonProperty(@"begins")]
- public DateTimeOffset? Begins { get; set; }
+ public DateTimeOffset? Begins { get; init; }
///
/// The time at which this item should stop displaying. If null, will display indefinitely.
///
[JsonProperty(@"expires")]
- public DateTimeOffset? Expires { get; set; }
+ public DateTimeOffset? Expires { get; init; }
public bool Equals(APIMenuImage? other)
{
if (ReferenceEquals(null, other)) return false;
if (ReferenceEquals(this, other)) return true;
- return Image == other.Image && Url == other.Url;
+ return Image == other.Image && Url == other.Url && Begins == other.Begins && Expires == other.Expires;
}
- public override bool Equals(object? obj)
- {
- if (ReferenceEquals(null, obj)) return false;
- if (ReferenceEquals(this, obj)) return true;
- if (obj.GetType() != GetType()) return false;
-
- return Equals((APIMenuImage)obj);
- }
+ public override bool Equals(object? other) => other is APIMenuImage content && Equals(content);
public override int GetHashCode()
{
- return HashCode.Combine(Image, Url);
+ return HashCode.Combine(Image, Url, Begins, Expires);
}
}
}