Add required metadata for installed games such as InstallDirectory to properly enable menu items
parent
1f332339eb
commit
702bdeb97f
|
@ -85,7 +85,7 @@ namespace LANCommander.PlaynitePlugin
|
||||||
|
|
||||||
var metadata = new GameMetadata()
|
var metadata = new GameMetadata()
|
||||||
{
|
{
|
||||||
IsInstalled = existingGame != null,
|
IsInstalled = false,
|
||||||
Name = manifest.Title,
|
Name = manifest.Title,
|
||||||
SortingName = manifest.SortTitle,
|
SortingName = manifest.SortTitle,
|
||||||
Description = manifest.Description,
|
Description = manifest.Description,
|
||||||
|
@ -93,9 +93,24 @@ namespace LANCommander.PlaynitePlugin
|
||||||
ReleaseDate = new ReleaseDate(manifest.ReleasedOn),
|
ReleaseDate = new ReleaseDate(manifest.ReleasedOn),
|
||||||
//Version = game.Archives.OrderByDescending(a => a.CreatedOn).FirstOrDefault().Version,
|
//Version = game.Archives.OrderByDescending(a => a.CreatedOn).FirstOrDefault().Version,
|
||||||
Icon = new MetadataFile(iconUri.ToString()),
|
Icon = new MetadataFile(iconUri.ToString()),
|
||||||
Genres = new HashSet<MetadataProperty>()
|
GameActions = game.Actions.Select(a => new PN.SDK.Models.GameAction()
|
||||||
|
{
|
||||||
|
Name = a.Name,
|
||||||
|
Arguments = a.Arguments,
|
||||||
|
Path = a.Path,
|
||||||
|
WorkingDir = a.WorkingDirectory,
|
||||||
|
IsPlayAction = a.PrimaryAction
|
||||||
|
}).ToList()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (existingGame != null)
|
||||||
|
{
|
||||||
|
metadata.IsInstalled = true;
|
||||||
|
metadata.Version = existingGame.Version;
|
||||||
|
metadata.InstallDirectory = existingGame.InstallDirectory;
|
||||||
|
metadata.InstallSize = existingGame.InstallSize;
|
||||||
|
}
|
||||||
|
|
||||||
if (manifest.Genre != null && manifest.Genre.Count() > 0)
|
if (manifest.Genre != null && manifest.Genre.Count() > 0)
|
||||||
metadata.Genres = new HashSet<MetadataProperty>(manifest.Genre.Select(g => new MetadataNameProperty(g)));
|
metadata.Genres = new HashSet<MetadataProperty>(manifest.Genre.Select(g => new MetadataNameProperty(g)));
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ namespace LANCommander.PlaynitePlugin
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Dispatcher.Invoke(new Action(() =>
|
Dispatcher.Invoke(new System.Action(() =>
|
||||||
{
|
{
|
||||||
if (antecedent.Result == false)
|
if (antecedent.Result == false)
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
namespace LANCommander.SDK.Models
|
||||||
|
{
|
||||||
|
public class Action
|
||||||
|
{
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Arguments { get; set; }
|
||||||
|
public string Path { get; set; }
|
||||||
|
public string WorkingDirectory { get; set; }
|
||||||
|
public bool PrimaryAction { get; set; }
|
||||||
|
}
|
||||||
|
}
|
|
@ -10,6 +10,7 @@ namespace LANCommander.SDK.Models
|
||||||
public string DirectoryName { get; set; }
|
public string DirectoryName { get; set; }
|
||||||
public string Description { get; set; }
|
public string Description { get; set; }
|
||||||
public DateTime ReleasedOn { get; set; }
|
public DateTime ReleasedOn { get; set; }
|
||||||
|
public virtual IEnumerable<Action> Actions { get; set; }
|
||||||
public virtual IEnumerable<Tag> Tags { get; set; }
|
public virtual IEnumerable<Tag> Tags { get; set; }
|
||||||
public virtual Company Publisher { get; set; }
|
public virtual Company Publisher { get; set; }
|
||||||
public virtual Company Developer { get; set; }
|
public virtual Company Developer { get; set; }
|
||||||
|
|
Loading…
Reference in New Issue