修复一些拉取rom列表的bug #80
@ -13,7 +13,7 @@ namespace AxibugEmuOnline.Client
|
||||
void Pause();
|
||||
void Resume();
|
||||
void SetupScheme();
|
||||
void StartGame(RomFile romFile);
|
||||
MsgBool StartGame(RomFile romFile);
|
||||
void DoReset();
|
||||
IControllerSetuper GetControllerSetuper();
|
||||
|
||||
|
@ -56,19 +56,27 @@ namespace AxibugEmuOnline.Client.Manager
|
||||
break;
|
||||
}
|
||||
|
||||
m_emuCore.StartGame(romFile);
|
||||
LaunchUI.Instance.HideMainMenu();
|
||||
InGameUI.Instance.Show(romFile, m_emuCore);
|
||||
var result = m_emuCore.StartGame(romFile);
|
||||
if (result)
|
||||
{
|
||||
LaunchUI.Instance.HideMainMenu();
|
||||
InGameUI.Instance.Show(romFile, m_emuCore);
|
||||
|
||||
m_emuCore.SetupScheme();
|
||||
m_emuCore.SetupScheme();
|
||||
|
||||
m_controllerSetuper = m_emuCore.GetControllerSetuper();
|
||||
m_controllerSetuper = m_emuCore.GetControllerSetuper();
|
||||
|
||||
//自动分配0号手柄到0号手柄位
|
||||
m_controllerSetuper.SetConnect(con0ToSlot: 0);
|
||||
Eventer.Instance.PostEvent(EEvent.OnControllerConnectChanged);
|
||||
//自动分配0号手柄到0号手柄位
|
||||
m_controllerSetuper.SetConnect(con0ToSlot: 0);
|
||||
Eventer.Instance.PostEvent(EEvent.OnControllerConnectChanged);
|
||||
|
||||
Eventer.Instance.RegisterEvent(EEvent.OnRoomSlotDataChanged, OnSlotDataChanged);
|
||||
Eventer.Instance.RegisterEvent(EEvent.OnRoomSlotDataChanged, OnSlotDataChanged);
|
||||
}
|
||||
else
|
||||
{
|
||||
StopGame();
|
||||
OverlayManager.PopTip(result);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnSlotDataChanged()
|
||||
|
@ -96,11 +96,12 @@ namespace AxibugEmuOnline.Client
|
||||
if (Path.GetExtension(LocalFilePath).ToLower() == ".zip")
|
||||
{
|
||||
var zip = new ZipInputStream(new MemoryStream(bytes));
|
||||
var entry = zip.GetNextEntry() as ZipEntry;
|
||||
|
||||
while (entry != null)
|
||||
while (true)
|
||||
{
|
||||
if (!entry.Name.ToLower().EndsWith(".nes")) continue;
|
||||
var currentEntry = zip.GetNextEntry();
|
||||
if (currentEntry == null) break;
|
||||
|
||||
if (!currentEntry.Name.ToLower().EndsWith(".nes")) continue;
|
||||
|
||||
var buffer = new byte[1024];
|
||||
MemoryStream output = new MemoryStream();
|
||||
@ -126,36 +127,36 @@ namespace AxibugEmuOnline.Client
|
||||
{
|
||||
downloadRequest = AxiHttpProxy.GetDownLoad($"{App.httpAPI.WebHost}/{webData.url}");
|
||||
|
||||
while (!downloadRequest.downloadHandler.isDone)
|
||||
{
|
||||
yield return null;
|
||||
Debug.Log($"下载进度:{downloadRequest.downloadHandler.DownLoadPr} ->{downloadRequest.downloadHandler.loadedLenght}/{downloadRequest.downloadHandler.NeedloadedLenght}");
|
||||
}
|
||||
AxiHttpProxy.ShowAxiHttpDebugInfo(downloadRequest.downloadHandler);
|
||||
while (!downloadRequest.downloadHandler.isDone)
|
||||
{
|
||||
yield return null;
|
||||
Debug.Log($"下载进度:{downloadRequest.downloadHandler.DownLoadPr} ->{downloadRequest.downloadHandler.loadedLenght}/{downloadRequest.downloadHandler.NeedloadedLenght}");
|
||||
}
|
||||
AxiHttpProxy.ShowAxiHttpDebugInfo(downloadRequest.downloadHandler);
|
||||
|
||||
var request = downloadRequest;
|
||||
downloadRequest = null;
|
||||
|
||||
if (!request.downloadHandler.bHadErr)
|
||||
if (!request.downloadHandler.bHadErr)
|
||||
callback(request.downloadHandler.data);
|
||||
else
|
||||
else
|
||||
callback(null);
|
||||
|
||||
//downloadRequest = UnityWebRequest.Get($"{App.httpAPI.WebHost}/{webData.url}");
|
||||
//yield return downloadRequest.SendWebRequest();
|
||||
//downloadRequest = UnityWebRequest.Get($"{App.httpAPI.WebHost}/{webData.url}");
|
||||
//yield return downloadRequest.SendWebRequest();
|
||||
|
||||
//var request = downloadRequest;
|
||||
//downloadRequest = null;
|
||||
//var request = downloadRequest;
|
||||
//downloadRequest = null;
|
||||
|
||||
//if (request.result != UnityWebRequest.Result.Success)
|
||||
//{
|
||||
// callback(null);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// callback(request.downloadHandler.data);
|
||||
//}
|
||||
}
|
||||
//if (request.result != UnityWebRequest.Result.Success)
|
||||
//{
|
||||
// callback(null);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// callback(request.downloadHandler.data);
|
||||
//}
|
||||
}
|
||||
|
||||
public void SetWebData(HttpAPI.Resp_RomInfo resp_RomInfo)
|
||||
{
|
||||
|
@ -63,7 +63,7 @@ namespace AxibugEmuOnline.Client
|
||||
/// <summary>
|
||||
/// 指定ROM开始游戏
|
||||
/// </summary>
|
||||
public void StartGame(RomFile rom)
|
||||
public MsgBool StartGame(RomFile rom)
|
||||
{
|
||||
StopGame();
|
||||
|
||||
@ -76,11 +76,13 @@ namespace AxibugEmuOnline.Client
|
||||
try
|
||||
{
|
||||
NesCore = new NES(rom.FileName);
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
NesCore = null;
|
||||
App.log.Error(ex.ToString());
|
||||
return ex.Message;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user