BizHawk/BizHawk.Client.Common/plugins/PluginLibrary.Gameinfo.cs

87 lines
1.3 KiB
C#
Raw Normal View History

2018-09-01 04:21:34 +00:00
using System;
using System.Collections.Generic;
using BizHawk.Emulation.Common;
namespace BizHawk.Client.Common
{
public sealed class GameInfoPluginLibrary : PluginLibraryBase
2018-09-01 04:21:34 +00:00
{
[OptionalService]
private IBoardInfo BoardInfo { get; set; }
public GameInfoPluginLibrary() : base()
2018-09-01 04:21:34 +00:00
{ }
public string GetRomName()
{
if (Global.Game != null)
{
return Global.Game.Name ?? "";
}
return "";
}
public string GetRomHash()
{
if (Global.Game != null)
{
return Global.Game.Hash ?? "";
}
return "";
}
public bool InDatabase()
{
if (Global.Game != null)
{
return !Global.Game.NotInDatabase;
}
return false;
}
public string GetStatus()
{
if (Global.Game != null)
{
return Global.Game.Status.ToString();
}
return "";
}
public bool IsStatusBad()
{
if (Global.Game != null)
{
return Global.Game.IsRomStatusBad();
}
return true;
}
public string GetBoardType()
{
return BoardInfo?.BoardName ?? "";
}
public Dictionary<string, string> GetOptions()
{
var options = new Dictionary<string, string>();
if (Global.Game != null)
{
foreach (var option in Global.Game.GetOptionsDict())
{
options[option.Key] = option.Value;
}
}
return options;
}
}
}