diff --git a/src/Discord.Net/Entities/Entity.cs b/src/Discord.Net/Entities/Entity.cs index 4ffd45d1f..82b9a2300 100644 --- a/src/Discord.Net/Entities/Entity.cs +++ b/src/Discord.Net/Entities/Entity.cs @@ -6,7 +6,7 @@ public abstract DiscordClient Discord { get; } - public bool IsAttached => this is ICachedEntity; + bool IEntity.IsAttached => false; public Entity(T id) { diff --git a/src/Discord.Net/Entities/WebSocket/CachedDMChannel.cs b/src/Discord.Net/Entities/WebSocket/CachedDMChannel.cs index 40d0f72c7..b3dc961d2 100644 --- a/src/Discord.Net/Entities/WebSocket/CachedDMChannel.cs +++ b/src/Discord.Net/Entities/WebSocket/CachedDMChannel.cs @@ -8,6 +8,8 @@ namespace Discord { internal class CachedDMChannel : DMChannel, IDMChannel, ICachedChannel, ICachedMessageChannel, ICachedPrivateChannel { + bool IEntity.IsAttached => true; + private readonly MessageManager _messages; public new DiscordSocketClient Discord => base.Discord as DiscordSocketClient; diff --git a/src/Discord.Net/Entities/WebSocket/CachedDMUser.cs b/src/Discord.Net/Entities/WebSocket/CachedDMUser.cs index bb0a56198..633956a3a 100644 --- a/src/Discord.Net/Entities/WebSocket/CachedDMUser.cs +++ b/src/Discord.Net/Entities/WebSocket/CachedDMUser.cs @@ -7,6 +7,8 @@ namespace Discord [DebuggerDisplay("{DebuggerDisplay,nq}")] internal class CachedDMUser : ICachedUser { + bool IEntity.IsAttached => true; + public CachedGlobalUser User { get; } public DiscordSocketClient Discord => User.Discord; diff --git a/src/Discord.Net/Entities/WebSocket/CachedGlobalUser.cs b/src/Discord.Net/Entities/WebSocket/CachedGlobalUser.cs index 7f09bf6e7..818b2f45e 100644 --- a/src/Discord.Net/Entities/WebSocket/CachedGlobalUser.cs +++ b/src/Discord.Net/Entities/WebSocket/CachedGlobalUser.cs @@ -6,6 +6,8 @@ namespace Discord { internal class CachedGlobalUser : User, ICachedUser { + bool IEntity.IsAttached => true; + private ushort _references; public Presence Presence { get; private set; } diff --git a/src/Discord.Net/Entities/WebSocket/CachedGroupChannel.cs b/src/Discord.Net/Entities/WebSocket/CachedGroupChannel.cs index 783bcd133..946962822 100644 --- a/src/Discord.Net/Entities/WebSocket/CachedGroupChannel.cs +++ b/src/Discord.Net/Entities/WebSocket/CachedGroupChannel.cs @@ -13,6 +13,8 @@ namespace Discord { internal class CachedGroupChannel : GroupChannel, IGroupChannel, ICachedChannel, ICachedMessageChannel, ICachedPrivateChannel { + bool IEntity.IsAttached => true; + private readonly MessageManager _messages; private ConcurrentDictionary _voiceStates; diff --git a/src/Discord.Net/Entities/WebSocket/CachedGroupUser.cs b/src/Discord.Net/Entities/WebSocket/CachedGroupUser.cs index 8735bbd11..c52a7d322 100644 --- a/src/Discord.Net/Entities/WebSocket/CachedGroupUser.cs +++ b/src/Discord.Net/Entities/WebSocket/CachedGroupUser.cs @@ -5,6 +5,8 @@ namespace Discord [DebuggerDisplay("{DebuggerDisplay,nq}")] internal class CachedGroupUser : GroupUser, ICachedUser { + bool IEntity.IsAttached => true; + public new DiscordSocketClient Discord => base.Discord as DiscordSocketClient; public new CachedGroupChannel Channel => base.Channel as CachedGroupChannel; public new CachedGlobalUser User => base.User as CachedGlobalUser; diff --git a/src/Discord.Net/Entities/WebSocket/CachedGuild.cs b/src/Discord.Net/Entities/WebSocket/CachedGuild.cs index 61e8c635f..5a7f7edc8 100644 --- a/src/Discord.Net/Entities/WebSocket/CachedGuild.cs +++ b/src/Discord.Net/Entities/WebSocket/CachedGuild.cs @@ -19,8 +19,10 @@ using VoiceStateModel = Discord.API.VoiceState; namespace Discord { - internal class CachedGuild : Guild, ICachedEntity, IGuild, IUserGuild + internal class CachedGuild : Guild, IGuild, IUserGuild { + bool IEntity.IsAttached => true; + private readonly SemaphoreSlim _audioLock; private TaskCompletionSource _syncPromise, _downloaderPromise; private ConcurrentHashSet _channels; diff --git a/src/Discord.Net/Entities/WebSocket/CachedGuildUser.cs b/src/Discord.Net/Entities/WebSocket/CachedGuildUser.cs index d165f43c2..14a90092a 100644 --- a/src/Discord.Net/Entities/WebSocket/CachedGuildUser.cs +++ b/src/Discord.Net/Entities/WebSocket/CachedGuildUser.cs @@ -5,6 +5,8 @@ namespace Discord { internal class CachedGuildUser : GuildUser, ICachedUser { + bool IEntity.IsAttached => true; + public new DiscordSocketClient Discord => base.Discord as DiscordSocketClient; public new CachedGuild Guild => base.Guild as CachedGuild; public new CachedGlobalUser User => base.User as CachedGlobalUser; diff --git a/src/Discord.Net/Entities/WebSocket/CachedMessage.cs b/src/Discord.Net/Entities/WebSocket/CachedMessage.cs index 72edb107d..cb005f2ef 100644 --- a/src/Discord.Net/Entities/WebSocket/CachedMessage.cs +++ b/src/Discord.Net/Entities/WebSocket/CachedMessage.cs @@ -2,8 +2,10 @@ namespace Discord { - internal class CachedMessage : Message, ICachedEntity + internal class CachedMessage : Message { + bool IEntity.IsAttached => true; + public new DiscordSocketClient Discord => base.Discord as DiscordSocketClient; public new ICachedMessageChannel Channel => base.Channel as ICachedMessageChannel; diff --git a/src/Discord.Net/Entities/WebSocket/CachedSelfUser.cs b/src/Discord.Net/Entities/WebSocket/CachedSelfUser.cs index 5e9c2dbc2..fd56d3803 100644 --- a/src/Discord.Net/Entities/WebSocket/CachedSelfUser.cs +++ b/src/Discord.Net/Entities/WebSocket/CachedSelfUser.cs @@ -5,6 +5,8 @@ namespace Discord { internal class CachedSelfUser : SelfUser, ICachedUser { + bool IEntity.IsAttached => true; + public new DiscordSocketClient Discord => base.Discord as DiscordSocketClient; CachedGlobalUser ICachedUser.User { get { throw new NotSupportedException(); } } diff --git a/src/Discord.Net/Entities/WebSocket/CachedTextChannel.cs b/src/Discord.Net/Entities/WebSocket/CachedTextChannel.cs index 48c51c761..a37c680be 100644 --- a/src/Discord.Net/Entities/WebSocket/CachedTextChannel.cs +++ b/src/Discord.Net/Entities/WebSocket/CachedTextChannel.cs @@ -9,6 +9,8 @@ namespace Discord { internal class CachedTextChannel : TextChannel, ICachedGuildChannel, ICachedMessageChannel { + bool IEntity.IsAttached => true; + private readonly MessageManager _messages; public new DiscordSocketClient Discord => base.Discord as DiscordSocketClient; diff --git a/src/Discord.Net/Entities/WebSocket/CachedVoiceChannel.cs b/src/Discord.Net/Entities/WebSocket/CachedVoiceChannel.cs index c0de8915d..9f27f57d2 100644 --- a/src/Discord.Net/Entities/WebSocket/CachedVoiceChannel.cs +++ b/src/Discord.Net/Entities/WebSocket/CachedVoiceChannel.cs @@ -10,6 +10,8 @@ namespace Discord { internal class CachedVoiceChannel : VoiceChannel, ICachedGuildChannel { + bool IEntity.IsAttached => true; + public new DiscordSocketClient Discord => base.Discord as DiscordSocketClient; public new CachedGuild Guild => base.Guild as CachedGuild; diff --git a/src/Discord.Net/Entities/WebSocket/ICachedEntity.cs b/src/Discord.Net/Entities/WebSocket/ICachedEntity.cs deleted file mode 100644 index 48dc26f2e..000000000 --- a/src/Discord.Net/Entities/WebSocket/ICachedEntity.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Discord -{ - internal interface ICachedEntity : IEntity - { - DiscordSocketClient Discord { get; } - } -}