diff --git a/RAWGMetadata/RAWGMetadata.csproj b/RAWGMetadata/RAWGMetadata.csproj
index 33c78c7..21b89cd 100644
--- a/RAWGMetadata/RAWGMetadata.csproj
+++ b/RAWGMetadata/RAWGMetadata.csproj
@@ -95,7 +95,7 @@
- 5.4.0
+ 6.1.0
diff --git a/RAWGMetadata/RawgLazyMetadataProvider.cs b/RAWGMetadata/RawgLazyMetadataProvider.cs
index c8ffecd..ff2e88f 100644
--- a/RAWGMetadata/RawgLazyMetadataProvider.cs
+++ b/RAWGMetadata/RawgLazyMetadataProvider.cs
@@ -1,5 +1,4 @@
using Playnite.SDK;
-using Playnite.SDK.Metadata;
using Playnite.SDK.Models;
using Playnite.SDK.Plugins;
using Rawg.Api;
@@ -45,7 +44,16 @@ private void GetGame()
_initialized = true;
string platformId = null;
- var platform = _options.GameData.Platform.Name;
+ var platform = string.Empty;
+ if (_options.GameData.Platforms != null && _options.GameData.Platforms.Count >= 1)
+ {
+ platform = _options.GameData.Platforms[0].Name;
+ }
+ else
+ {
+ return;
+ }
+
if (_plugin.PlatformTranslationTable.ContainsKey(platform))
{
platform = _plugin.PlatformTranslationTable[platform];
@@ -88,8 +96,8 @@ private void GetGame()
}
}
}
-
- public override string GetName()
+
+ public override string GetName(GetMetadataFieldArgs args)
{
GetGame();
@@ -101,10 +109,10 @@ public override string GetName()
}
}
- return base.GetName();
+ return base.GetName(args);
}
-
- public override List GetGenres()
+
+ public override IEnumerable GetGenres(GetMetadataFieldArgs args)
{
GetGameInfo();
@@ -112,15 +120,15 @@ public override List GetGenres()
{
if (_gameInfo.Genres != null)
{
- return _gameInfo.Genres.Select(genre => genre.Name).ToList();
+ return _gameInfo.Genres.Select(genre => new MetadataNameProperty(genre.Name)).ToList();
}
}
- return base.GetGenres();
+ return base.GetGenres(args);
}
-
-
- public override DateTime? GetReleaseDate()
+
+
+ public override ReleaseDate? GetReleaseDate(GetMetadataFieldArgs args)
{
GetGame();
@@ -128,14 +136,19 @@ public override List GetGenres()
{
if (_game.Released != null)
{
- return _game.Released;
+ return new ReleaseDate
+ (
+ _game.Released.Value.Year,
+ _game.Released.Value.Month,
+ _game.Released.Value.Day
+ );
}
}
- return base.GetReleaseDate();
+ return base.GetReleaseDate(args);
}
-
- public override List GetDevelopers()
+
+ public override IEnumerable GetDevelopers(GetMetadataFieldArgs args)
{
GetGameInfo();
@@ -143,14 +156,14 @@ public override List GetDevelopers()
{
if (_gameInfo.Developers != null)
{
- return _gameInfo.Developers.Select(developer => developer.Name).ToList();
+ return _gameInfo.Developers.Select(developer => new MetadataNameProperty(developer.Name)).ToList();
}
}
- return base.GetDevelopers();
+ return base.GetDevelopers(args);
}
- public override List GetPublishers()
+ public override IEnumerable GetPublishers(GetMetadataFieldArgs args)
{
GetGameInfo();
@@ -158,15 +171,15 @@ public override List GetPublishers()
{
if (_gameInfo.Publishers != null)
{
- return _gameInfo.Publishers.Select(publisher => publisher.Name).ToList();
+ return _gameInfo.Publishers.Select(publisher => new MetadataNameProperty(publisher.Name)).ToList();
}
}
- return base.GetPublishers();
+ return base.GetPublishers(args);
}
-
- public override string GetDescription()
+
+ public override string GetDescription(GetMetadataFieldArgs args)
{
GetGameInfo();
@@ -178,10 +191,10 @@ public override string GetDescription()
}
}
- return base.GetDescription();
+ return base.GetDescription(args);
}
-
- public override int? GetCommunityScore()
+
+ public override int? GetCommunityScore(GetMetadataFieldArgs args)
{
GetGame();
@@ -193,10 +206,10 @@ public override string GetDescription()
}
}
- return base.GetCommunityScore();
+ return base.GetCommunityScore(args);
}
-
- public override MetadataFile GetCoverImage()
+
+ public override MetadataFile GetCoverImage(GetMetadataFieldArgs args)
{
/*
GetGame();
@@ -209,10 +222,10 @@ public override MetadataFile GetCoverImage()
}
}
*/
- return base.GetCoverImage();
+ return base.GetCoverImage(args);
}
- public override MetadataFile GetBackgroundImage()
+ public override MetadataFile GetBackgroundImage(GetMetadataFieldArgs args)
{
GetGame();
@@ -224,10 +237,10 @@ public override MetadataFile GetBackgroundImage()
}
}
- return base.GetBackgroundImage();
+ return base.GetBackgroundImage(args);
}
-
- public override List GetLinks()
+
+ public override IEnumerable GetLinks(GetMetadataFieldArgs args)
{
GetGameInfo();
@@ -256,10 +269,10 @@ public override List GetLinks()
}
}
- return base.GetLinks();
+ return base.GetLinks(args);
}
- public override MetadataFile GetIcon()
+ public override MetadataFile GetIcon(GetMetadataFieldArgs args)
{
/*
using (MemoryStream ms = new MemoryStream())
@@ -269,10 +282,10 @@ public override MetadataFile GetIcon()
}
*/
- return base.GetIcon();
+ return base.GetIcon(args);
}
- public override int? GetCriticScore()
+ public override int? GetCriticScore(GetMetadataFieldArgs args)
{
GetGame();
@@ -284,10 +297,10 @@ public override MetadataFile GetIcon()
}
}
- return base.GetCriticScore();
+ return base.GetCriticScore(args);
}
-
- public override List GetTags()
+
+ public override IEnumerable GetTags(GetMetadataFieldArgs args)
{
GetGameInfo();
@@ -295,11 +308,11 @@ public override List GetTags()
{
if (_gameInfo.Tags != null)
{
- return _gameInfo.Tags.Select(tag => tag.Name).ToList();
+ return _gameInfo.Tags.Select(tag => new MetadataNameProperty(tag.Name)).ToList();
}
}
- return base.GetTags();
+ return base.GetTags(args);
}
diff --git a/RAWGMetadata/RawgMetadataPlugin.cs b/RAWGMetadata/RawgMetadataPlugin.cs
index 98e1aa8..f705b6e 100644
--- a/RAWGMetadata/RawgMetadataPlugin.cs
+++ b/RAWGMetadata/RawgMetadataPlugin.cs
@@ -47,7 +47,7 @@ public class RawgMetadataPlugin : MetadataPlugin
{ "Nintendo Switch","Nintendo Switch"},
{ "Nintendo Wii","Wii"},
{ "Nintendo Wii U","Wii U"},
- { "PC","PC"},
+ { "PC (Windows)","PC"},
{ "Sega 32X","SEGA 32X"},
{ "Sega CD","SEGA CD"},
{ "Sega Dreamcast","Dreamcast"},
@@ -68,6 +68,10 @@ public class RawgMetadataPlugin : MetadataPlugin
public RawgMetadataPlugin(IPlayniteAPI playniteAPI) : base(playniteAPI)
{
Settings = new RawgMetadataSettings(this);
+ Properties = new MetadataPluginProperties
+ {
+ HasSettings = false
+ };
PlatformList = Settings.PlatformList;
Task.Run(() => {
try
@@ -95,41 +99,6 @@ public override UserControl GetSettingsView(bool firstRunView)
return new RawgMetadataSettingsView(this);
}
- public override IEnumerable GetFunctions()
- {
- return base.GetFunctions();
- }
-
- public override void OnGameStarting(Game game)
- {
- base.OnGameStarting(game);
- }
-
- public override void OnGameStarted(Game game)
- {
- base.OnGameStarted(game);
- }
-
- public override void OnGameStopped(Game game, long ellapsedSeconds)
- {
- base.OnGameStopped(game, ellapsedSeconds);
- }
-
- public override void OnGameInstalled(Game game)
- {
- base.OnGameInstalled(game);
- }
-
- public override void OnGameUninstalled(Game game)
- {
- base.OnGameUninstalled(game);
- }
-
- public override void OnApplicationStarted()
- {
- base.OnApplicationStarted();
- }
-
public override Guid Id => Guid.Parse("000001D9-DBD1-46C6-B5D0-B1BA557D10E4");
public override OnDemandMetadataProvider GetMetadataProvider(MetadataRequestOptions options)
{
diff --git a/RAWGMetadata/extension.yaml b/RAWGMetadata/extension.yaml
index b761ce5..6e6311a 100644
--- a/RAWGMetadata/extension.yaml
+++ b/RAWGMetadata/extension.yaml
@@ -1,13 +1,10 @@
Id: Spektor56_Playnite_Metadata_RAWG
Name: RAWG metadata provider
Author: Spektor56
-Version: 2.0.0
+Version: 3.0.0
Module: RAWGMetadata.dll
Type: MetadataProvider
Icon: Resources\rawg.ico
Links:
- Name: Github
- Url: https://github.com/spektor56/RAWGPlaynitePlugin
-UpdaterConfig:
- GitHubUser: spektor56
- GitHubRepo: RAWGPlaynitePlugin
+ Url: https://github.com/spektor56/RAWGPlaynitePlugin
\ No newline at end of file
diff --git a/RawgTestApp/RawgTestApp.csproj b/RawgTestApp/RawgTestApp.csproj
index fe7518a..8511c9c 100644
--- a/RawgTestApp/RawgTestApp.csproj
+++ b/RawgTestApp/RawgTestApp.csproj
@@ -91,7 +91,7 @@
- 5.4.0
+ 6.1.0
diff --git a/manifests/InstallerManifest.yaml b/manifests/InstallerManifest.yaml
new file mode 100644
index 0000000..6d48145
--- /dev/null
+++ b/manifests/InstallerManifest.yaml
@@ -0,0 +1,8 @@
+AddonId: Spektor56_Playnite_Metadata_RAWG
+Packages:
+ - Version: 3.0.0
+ RequiredApiVersion: 6.1.0
+ ReleaseDate: 2021-10-25
+ PackageUrl: https://github.com/spektor56/RAWGPlaynitePlugin/releases/download/3.0.0/RAWG_metadata_provider_3_0_0.pext
+ Changelog:
+ - Playnite 9 support
\ No newline at end of file