diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/IEmuCore.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/IEmuCore.cs
index 1583993d..44841572 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/IEmuCore.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/IEmuCore.cs
@@ -7,18 +7,30 @@ namespace AxibugEmuOnline.Client
{
GameObject gameObject { get; }
+ /// 获得模拟器核心中的状态快照对象
object GetState();
+ /// 获得模拟器核心中的状态快照字节数据
byte[] GetStateBytes();
+ /// 加载状态快照
+ /// 该对象应该来自核心的方法的返回值,或是从返回的byte数组构建
void LoadState(object state);
+ /// 加载状态快照
+ /// 该对象应该来自核心的返回的byte数组
void LoadStateFromBytes(byte[] data);
+ /// 暂停核心推帧
void Pause();
+ /// 恢复核心推帧(从Pause状态恢复)
void Resume();
- void SetupScheme();
+ /// 启动模拟器逻辑
MsgBool StartGame(RomFile romFile);
+ /// 重置核心,通常由模拟器核心提供的功能
void DoReset();
+ /// 获得模拟器核心的控制器设置器
+ ///
IControllerSetuper GetControllerSetuper();
-
+ /// 核心所属平台
RomPlatformType Platform { get; }
+ /// 获取当前模拟器帧序号,在加载快照和Reset后,应当重置为0
uint Frame { get; }
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppEmu.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppEmu.cs
index d994bb40..db5da709 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppEmu.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppEmu.cs
@@ -63,7 +63,7 @@ namespace AxibugEmuOnline.Client.Manager
LaunchUI.Instance.HideMainMenu();
InGameUI.Instance.Show(romFile, m_emuCore);
- m_emuCore.SetupScheme();
+ CommandDispatcher.Instance.Current = CommandDispatcher.Instance.Gaming;
m_controllerSetuper = m_emuCore.GetControllerSetuper();
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/NesEmulator/NesEmulator.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/NesEmulator/NesEmulator.cs
index b6977b31..8532f5b2 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/NesEmulator/NesEmulator.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/NesEmulator/NesEmulator.cs
@@ -103,11 +103,6 @@ namespace AxibugEmuOnline.Client
NesCore.Reset();
}
- public void SetupScheme()
- {
- CommandDispatcher.Instance.Current = CommandDispatcher.Instance.Gaming;
- }
-
public void LoadState(object state)
{
NesCore.LoadState((State)state);