+ Make `ApplicationId` nullable + Move ctor after propspull/970/head
@@ -5,11 +5,10 @@ namespace Discord | |||||
[DebuggerDisplay(@"{DebuggerDisplay,nq}")] | [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | ||||
public class Game : IActivity | public class Game : IActivity | ||||
{ | { | ||||
internal Game() { } | |||||
public string Name { get; internal set; } | public string Name { get; internal set; } | ||||
public ActivityType Type { get; internal set; } | public ActivityType Type { get; internal set; } | ||||
internal Game() { } | |||||
public Game(string name, ActivityType type = ActivityType.Playing) | public Game(string name, ActivityType type = ActivityType.Playing) | ||||
{ | { | ||||
Name = name; | Name = name; | ||||
@@ -1,15 +1,15 @@ | |||||
namespace Discord | |||||
namespace Discord | |||||
{ | { | ||||
public class GameAsset | public class GameAsset | ||||
{ | { | ||||
internal GameAsset() { } | internal GameAsset() { } | ||||
internal ulong ApplicationId { get; set; } | |||||
internal ulong? ApplicationId { get; set; } | |||||
public string Text { get; internal set; } | public string Text { get; internal set; } | ||||
public string ImageId { get; internal set; } | public string ImageId { get; internal set; } | ||||
public string GetImageUrl(ImageFormat format = ImageFormat.Auto, ushort size = 128) | public string GetImageUrl(ImageFormat format = ImageFormat.Auto, ushort size = 128) | ||||
=> CDN.GetRichAssetUrl(ApplicationId, ImageId, size, format); | |||||
=> ApplicationId.HasValue ? CDN.GetRichAssetUrl(ApplicationId.Value, ImageId, size, format) : null; | |||||
} | } | ||||
} | |||||
} |
@@ -7,8 +7,6 @@ namespace Discord | |||||
[DebuggerDisplay(@"{DebuggerDisplay,nq}")] | [DebuggerDisplay(@"{DebuggerDisplay,nq}")] | ||||
public class SpotifyGame : Game | public class SpotifyGame : Game | ||||
{ | { | ||||
internal SpotifyGame() { } | |||||
public string[] Artists { get; internal set; } | public string[] Artists { get; internal set; } | ||||
public string AlbumArt { get; internal set; } | public string AlbumArt { get; internal set; } | ||||
public string AlbumTitle { get; internal set; } | public string AlbumTitle { get; internal set; } | ||||
@@ -17,6 +15,8 @@ namespace Discord | |||||
public string SessionId { get; internal set; } | public string SessionId { get; internal set; } | ||||
public TimeSpan? Duration { get; internal set; } | public TimeSpan? Duration { get; internal set; } | ||||
internal SpotifyGame() { } | |||||
public override string ToString() => Name; | public override string ToString() => Name; | ||||
private string DebuggerDisplay => $"{Name} (Spotify)"; | private string DebuggerDisplay => $"{Name} (Spotify)"; | ||||
} | } | ||||
@@ -55,7 +55,7 @@ namespace Discord.WebSocket | |||||
} | } | ||||
// (Small, Large) | // (Small, Large) | ||||
public static GameAsset[] ToEntity(this API.GameAssets model, ulong appId = 0) | |||||
public static GameAsset[] ToEntity(this API.GameAssets model, ulong? appId = null) | |||||
{ | { | ||||
return new GameAsset[] | return new GameAsset[] | ||||
{ | { | ||||