Files
Discord.Net/src/Discord.Net.WebSocket/Entities/Users/SocketPresence.cs
2016-10-06 02:44:41 -03:00

29 lines
902 B
C#

using System.Diagnostics;
using Model = Discord.API.Presence;
namespace Discord.WebSocket
{
//TODO: C#7 Candidate for record type
[DebuggerDisplay(@"{DebuggerDisplay,nq}")]
public struct SocketPresence : IPresence
{
public UserStatus Status { get; }
public Game? Game { get; }
internal SocketPresence(UserStatus status, Game? game)
{
Status = status;
Game = game;
}
internal static SocketPresence Create(Model model)
{
return new SocketPresence(model.Status, model.Game != null ? Discord.Game.Create(model.Game) : (Game?)null);
}
public override string ToString() => Status.ToString();
internal string DebuggerDisplay => $"{Status}{(Game != null ? $", {Game.Value.Name} ({Game.Value.StreamType})" : "")}";
internal SocketPresence Clone() => this;
}
}