Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion RAWGMetadata/RAWGMetadata.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="PlayniteSDK">
<Version>5.4.0</Version>
<Version>6.1.0</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
Expand Down
99 changes: 56 additions & 43 deletions RAWGMetadata/RawgLazyMetadataProvider.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using Playnite.SDK;
using Playnite.SDK.Metadata;
using Playnite.SDK.Models;
using Playnite.SDK.Plugins;
using Rawg.Api;
Expand Down Expand Up @@ -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];
Expand Down Expand Up @@ -88,8 +96,8 @@ private void GetGame()
}
}
}
public override string GetName()

public override string GetName(GetMetadataFieldArgs args)
{
GetGame();

Expand All @@ -101,72 +109,77 @@ public override string GetName()
}
}

return base.GetName();
return base.GetName(args);
}
public override List<string> GetGenres()

public override IEnumerable<MetadataProperty> GetGenres(GetMetadataFieldArgs args)
{
GetGameInfo();

if (_gameInfo != null)
{
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();

if (_game != null)
{
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<string> GetDevelopers()

public override IEnumerable<MetadataProperty> GetDevelopers(GetMetadataFieldArgs args)
{
GetGameInfo();

if (_gameInfo != null)
{
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<string> GetPublishers()
public override IEnumerable<MetadataProperty> GetPublishers(GetMetadataFieldArgs args)
{
GetGameInfo();

if (_gameInfo != null)
{
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();

Expand All @@ -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();

Expand All @@ -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();
Expand All @@ -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();

Expand All @@ -224,10 +237,10 @@ public override MetadataFile GetBackgroundImage()
}
}

return base.GetBackgroundImage();
return base.GetBackgroundImage(args);
}
public override List<Link> GetLinks()

public override IEnumerable<Link> GetLinks(GetMetadataFieldArgs args)
{
GetGameInfo();

Expand Down Expand Up @@ -256,10 +269,10 @@ public override List<Link> GetLinks()
}
}

return base.GetLinks();
return base.GetLinks(args);
}

public override MetadataFile GetIcon()
public override MetadataFile GetIcon(GetMetadataFieldArgs args)
{
/*
using (MemoryStream ms = new MemoryStream())
Expand All @@ -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();

Expand All @@ -284,22 +297,22 @@ public override MetadataFile GetIcon()
}
}

return base.GetCriticScore();
return base.GetCriticScore(args);
}
public override List<string> GetTags()

public override IEnumerable<MetadataProperty> GetTags(GetMetadataFieldArgs args)
{
GetGameInfo();

if (_gameInfo != null)
{
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);
}


Expand Down
41 changes: 5 additions & 36 deletions RAWGMetadata/RawgMetadataPlugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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"},
Expand All @@ -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
Expand Down Expand Up @@ -95,41 +99,6 @@ public override UserControl GetSettingsView(bool firstRunView)
return new RawgMetadataSettingsView(this);
}

public override IEnumerable<ExtensionFunction> 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)
{
Expand Down
7 changes: 2 additions & 5 deletions RAWGMetadata/extension.yaml
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion RawgTestApp/RawgTestApp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="PlayniteSDK">
<Version>5.4.0</Version>
<Version>6.1.0</Version>
</PackageReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Expand Down
8 changes: 8 additions & 0 deletions manifests/InstallerManifest.yaml
Original file line number Diff line number Diff line change
@@ -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