Return the tool from IToolApi.GetTool instead of its type
also affects Lua client.gettool; this has been broken for quite a while
This commit is contained in:
parent
5a098055d7
commit
a5fd5f5d78
|
@ -6,14 +6,23 @@ namespace BizHawk.Client.Common
|
|||
public interface IToolApi : IExternalApi
|
||||
{
|
||||
IEnumerable<Type> AvailableTools { get; }
|
||||
Type GetTool(string name);
|
||||
|
||||
object CreateInstance(string name);
|
||||
|
||||
IToolForm GetTool(string name);
|
||||
|
||||
void OpenCheats();
|
||||
|
||||
void OpenHexEditor();
|
||||
void OpenRamWatch();
|
||||
|
||||
void OpenRamSearch();
|
||||
|
||||
void OpenRamWatch();
|
||||
|
||||
void OpenTasStudio();
|
||||
|
||||
void OpenToolBox();
|
||||
|
||||
void OpenTraceLogger();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,11 +15,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
public ToolApi(ToolManager toolManager) => _toolManager = toolManager;
|
||||
|
||||
public Type GetTool(string name)
|
||||
public IToolForm GetTool(string name)
|
||||
{
|
||||
var toolType = Util.GetTypeByName(name).FirstOrDefault(x => typeof(IToolForm).IsAssignableFrom(x) && !x.IsInterface);
|
||||
if (toolType != null) _toolManager.Load(toolType);
|
||||
return _toolManager.AvailableTools.FirstOrDefault(tool => tool.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase));
|
||||
if (toolType == null) return null;
|
||||
return _toolManager.Load(toolType);
|
||||
}
|
||||
|
||||
public object CreateInstance(string name)
|
||||
|
|
Loading…
Reference in New Issue