修复联机流程bug

This commit is contained in:
ALIENJACK\alien 2024-11-08 13:48:53 +08:00
parent 1f8f5c2773
commit d87d2da55a
8 changed files with 17 additions and 10 deletions

View File

@ -214,7 +214,7 @@ namespace AxibugEmuOnline.Client.Event
} }
catch (Exception e) catch (Exception e)
{ {
App.log.Error(e.InnerException.ToString()); App.log.Error(e.ToString());
} }
} }
} }

View File

@ -369,13 +369,13 @@ namespace AxibugEmuOnline.Client.Manager
if (WaitStep != msg.WaitStep) if (WaitStep != msg.WaitStep)
{ {
WaitStep = msg.WaitStep; WaitStep = msg.WaitStep;
Eventer.Instance.PostEvent(EEvent.OnRoomWaitStepChange, WaitStep);
if (WaitStep == 1) if (WaitStep == 1)
{ {
byte[] decompressRawData = Helper.DecompressByteArray(msg.LoadStateRaw.ToByteArray()); byte[] decompressRawData = Helper.DecompressByteArray(msg.LoadStateRaw.ToByteArray());
App.log.Info($"收到即时存档数据 解压后;{decompressRawData.Length}"); App.log.Info($"收到即时存档数据 解压后;{decompressRawData.Length}");
RawData = decompressRawData; RawData = decompressRawData;
} }
Eventer.Instance.PostEvent(EEvent.OnRoomWaitStepChange, WaitStep);
} }
} }

View File

@ -47,6 +47,8 @@ namespace AxibugEmuOnline.Client
return romFile; return romFile;
} }
/// <summary> 清除所有下载的Rom文件 </summary> /// <summary> 清除所有下载的Rom文件 </summary>
public void ClearRomFile() public void ClearRomFile()
{ {
@ -119,5 +121,10 @@ namespace AxibugEmuOnline.Client
{ {
return Helper.FileMD5Hash(data); return Helper.FileMD5Hash(data);
} }
public void AddRomFile(RomFile rom)
{
nesRomFileNameMapper[rom.FileName] = rom;
}
} }
} }

View File

@ -31,6 +31,8 @@ namespace AxibugEmuOnline.Client
Supporter.Setup(new CoreSupporter()); Supporter.Setup(new CoreSupporter());
Debuger.Setup(new CoreDebuger()); Debuger.Setup(new CoreDebuger());
App.nesRomLib.AddRomFile(rom);
try try
{ {
NesCore = new NES(rom.FileName); NesCore = new NES(rom.FileName);

View File

@ -86,7 +86,7 @@ namespace AxibugEmuOnline.Client.Network
} }
catch (Exception e) catch (Exception e)
{ {
App.log.Error(e.Message); App.log.Error(e.ToString());
} }
} }
} }

View File

@ -1,6 +1,4 @@
using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.ClientCore;
using System;
using VirtualNes.Core;
namespace AxibugEmuOnline.Client namespace AxibugEmuOnline.Client
{ {

View File

@ -10,7 +10,7 @@ namespace AxibugEmuOnline.Client
protected override void Awake() protected override void Awake()
{ {
Eventer.Instance.RegisterEvent<int>(EEvent.OnRoomListAllUpdate, OnRoomListUpdateAll); Eventer.Instance.RegisterEvent(EEvent.OnRoomListAllUpdate, OnRoomListUpdateAll);
Eventer.Instance.RegisterEvent<int>(EEvent.OnRoomListSingleClose, OnRoomClosed); Eventer.Instance.RegisterEvent<int>(EEvent.OnRoomListSingleClose, OnRoomClosed);
Eventer.Instance.RegisterEvent<int>(EEvent.OnRoomListSingleAdd, OnRoomSingleAdd); Eventer.Instance.RegisterEvent<int>(EEvent.OnRoomListSingleAdd, OnRoomSingleAdd);
base.Awake(); base.Awake();
@ -19,7 +19,7 @@ namespace AxibugEmuOnline.Client
protected override void OnDestroy() protected override void OnDestroy()
{ {
Eventer.Instance.UnregisterEvent<int>(EEvent.OnRoomListAllUpdate, OnRoomListUpdateAll); Eventer.Instance.UnregisterEvent(EEvent.OnRoomListAllUpdate, OnRoomListUpdateAll);
Eventer.Instance.UnregisterEvent<int>(EEvent.OnRoomListSingleUpdate, OnRoomSingleAdd); Eventer.Instance.UnregisterEvent<int>(EEvent.OnRoomListSingleUpdate, OnRoomSingleAdd);
Eventer.Instance.UnregisterEvent<int>(EEvent.OnRoomListSingleClose, OnRoomClosed); Eventer.Instance.UnregisterEvent<int>(EEvent.OnRoomListSingleClose, OnRoomClosed);
} }
@ -46,7 +46,7 @@ namespace AxibugEmuOnline.Client
} }
} }
private void OnRoomListUpdateAll(int obj) private void OnRoomListUpdateAll()
{ {
if (m_entering) if (m_entering)
{ {