mirror of
https://github.com/ppy/osu.git
synced 2025-01-26 12:45:09 +08:00
Add equatable support to IUser
and RealmUser
Not sure this will stick, but let's add it for now to make testing detach support work nicely.
This commit is contained in:
parent
6db3c32dd1
commit
51d6db1bca
@ -73,7 +73,7 @@ namespace osu.Game.Beatmaps
|
|||||||
&& TitleUnicode == other.TitleUnicode
|
&& TitleUnicode == other.TitleUnicode
|
||||||
&& Artist == other.Artist
|
&& Artist == other.Artist
|
||||||
&& ArtistUnicode == other.ArtistUnicode
|
&& ArtistUnicode == other.ArtistUnicode
|
||||||
&& Author == other.Author
|
&& Author.Equals(other.Author)
|
||||||
&& Source == other.Source
|
&& Source == other.Source
|
||||||
&& Tags == other.Tags
|
&& Tags == other.Tags
|
||||||
&& PreviewTime == other.PreviewTime
|
&& PreviewTime == other.PreviewTime
|
||||||
|
@ -1,17 +1,26 @@
|
|||||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
|
using System;
|
||||||
using osu.Game.Users;
|
using osu.Game.Users;
|
||||||
using Realms;
|
using Realms;
|
||||||
|
|
||||||
namespace osu.Game.Models
|
namespace osu.Game.Models
|
||||||
{
|
{
|
||||||
public class RealmUser : EmbeddedObject, IUser
|
public class RealmUser : EmbeddedObject, IUser, IEquatable<RealmUser>
|
||||||
{
|
{
|
||||||
public int OnlineID { get; set; } = 1;
|
public int OnlineID { get; set; } = 1;
|
||||||
|
|
||||||
public string Username { get; set; }
|
public string Username { get; set; }
|
||||||
|
|
||||||
public bool IsBot => false;
|
public bool IsBot => false;
|
||||||
|
|
||||||
|
public bool Equals(RealmUser other)
|
||||||
|
{
|
||||||
|
if (ReferenceEquals(null, other)) return false;
|
||||||
|
if (ReferenceEquals(this, other)) return true;
|
||||||
|
|
||||||
|
return OnlineID == other.OnlineID && Username == other.Username;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,25 @@
|
|||||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||||
// See the LICENCE file in the repository root for full licence text.
|
// See the LICENCE file in the repository root for full licence text.
|
||||||
|
|
||||||
|
using System;
|
||||||
using osu.Game.Database;
|
using osu.Game.Database;
|
||||||
|
|
||||||
|
#nullable enable
|
||||||
|
|
||||||
namespace osu.Game.Users
|
namespace osu.Game.Users
|
||||||
{
|
{
|
||||||
public interface IUser : IHasOnlineID<int>
|
public interface IUser : IHasOnlineID<int>, IEquatable<IUser>
|
||||||
{
|
{
|
||||||
string Username { get; }
|
string Username { get; }
|
||||||
|
|
||||||
bool IsBot { get; }
|
bool IsBot { get; }
|
||||||
|
|
||||||
|
bool IEquatable<IUser>.Equals(IUser? other)
|
||||||
|
{
|
||||||
|
if (other == null)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return OnlineID == other.OnlineID && Username == other.Username;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user