-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSB3Plugin.cs
29 lines (26 loc) · 1.37 KB
/
SB3Plugin.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using Retro_ML.Configuration;
using Retro_ML.Emulator;
using Retro_ML.Game;
using Retro_ML.Neural;
using Retro_ML.Neural.Play;
using Retro_ML.Neural.Train;
using Retro_ML.Plugin;
using Retro_ML.SuperBomberman3.Configuration;
using Retro_ML.SuperBomberman3.Game;
using Retro_ML.SuperBomberman3.Neural.Train;
using Retro_ML.SuperBomberMan3.Neural;
using SharpNeat.BlackBox;
namespace Retro_ML.SuperBomberman3;
public class SB3Plugin : IGamePlugin
{
public string PluginName => "SB3";
public string PluginGameName => "Super Bomberman 3";
public string PluginROMHeaderName => "";
public string ConsolePluginName => "SNES";
public string PluginConfigPath => "config/plugins/sb3-config.json";
public IDataFetcherFactory GetDataFetcherFactory() => new SB3DataFetcherFactory();
public INeuralPlayer GetNeuralPlayer(EmulatorManager emulatorManager, ApplicationConfig appConfig) => new SharpNeatPlayer(emulatorManager, appConfig);
public INeuralTrainer GetNeuralTrainer(EmulatorManager emulatorManager, ApplicationConfig appConfig) => new SB3Trainer(emulatorManager, appConfig);
public IEvaluator GetEvaluator(ApplicationConfig appConfig, object phenome, IEnumerable<string> saveStates, IEmulatorAdapter emulator) => new SB3Evaluator(appConfig, (IBlackBox<double>)phenome, saveStates, emulator);
public IPluginConfig GetPluginConfig() => new SB3PluginConfig();
}