扩展为多平台rom选择(api,客户端逻辑,服务端统计)

This commit is contained in:
sin365 2025-01-07 10:51:12 +08:00
parent b4496486a8
commit c77684d89b
15 changed files with 278 additions and 466 deletions

View File

@ -18,13 +18,12 @@ namespace AxibugEmuOnline.Client.Manager
/// </summary> /// </summary>
/// <param name="RomID"></param> /// <param name="RomID"></param>
/// <param name="Motion">[0]收藏[1]取消收藏</param> /// <param name="Motion">[0]收藏[1]取消收藏</param>
public void SendGameStar(int RomID, PlatformType Platform, int Motion) public void SendGameStar(int RomID, int Motion)
{ {
Protobuf_Game_Mark req = new Protobuf_Game_Mark() Protobuf_Game_Mark req = new Protobuf_Game_Mark()
{ {
State = Motion, State = Motion,
RomID = RomID, RomID = RomID,
PlatformType = Platform
}; };
App.log.Info($"LeavnRoom"); App.log.Info($"LeavnRoom");
App.network.SendToServer((int)CommandID.CmdGameMark, ProtoBufHelper.Serizlize(req)); App.network.SendToServer((int)CommandID.CmdGameMark, ProtoBufHelper.Serizlize(req));
@ -37,7 +36,7 @@ namespace AxibugEmuOnline.Client.Manager
void RecvGameStar(byte[] reqData) void RecvGameStar(byte[] reqData)
{ {
Protobuf_Game_Mark_RESP msg = ProtoBufHelper.DeSerizlize<Protobuf_Game_Mark_RESP>(reqData); Protobuf_Game_Mark_RESP msg = ProtoBufHelper.DeSerizlize<Protobuf_Game_Mark_RESP>(reqData);
Eventer.Instance.PostEvent(EEvent.OnDoStars, msg.PlatformType, msg.RomID); Eventer.Instance.PostEvent(EEvent.OnDoStars, msg.RomID);
} }
} }

View File

@ -1,4 +1,5 @@
using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.ClientCore;
using AxibugProtobuf;
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
@ -12,19 +13,19 @@ namespace AxibugEmuOnline.Client
public string WebHost = "http://emu.axibug.com"; public string WebHost = "http://emu.axibug.com";
public string WebSiteApi => WebHost + "/api"; public string WebSiteApi => WebHost + "/api";
public delegate void GetRomListAPI(Action<int, Resp_GameList> callback, int page, int pageSize = 10); public delegate void GetRomListAPI(Action<int, Resp_GameList> callback, AxibugProtobuf.RomPlatformType Platform, int page, int pageSize = 10);
public delegate void SearchRomListAPI(Action<int, Resp_GameList> callback, string searchKey, int page, int pageSize = 10); public delegate void SearchRomListAPI(Action<int, Resp_GameList> callback, AxibugProtobuf.RomPlatformType Platform, string searchKey, int page, int pageSize = 10);
public void GetNesRomList(Action<int, Resp_GameList> callback, int page, int pageSize = 10) public void GetNesRomList(Action<int, Resp_GameList> callback, AxibugProtobuf.RomPlatformType platform, int page, int pageSize = 10)
{ {
App.StartCoroutine(GetNesRomListFlow(page, pageSize, callback)); App.StartCoroutine(GetRomListFlow(platform,page, pageSize, callback));
} }
public void SearchNesRomList(Action<int, Resp_GameList> callback, string searchKey, int page, int pageSize = 10) public void SearchNesRomList(Action<int, Resp_GameList> callback, AxibugProtobuf.RomPlatformType platform, string searchKey, int page, int pageSize = 10)
{ {
App.StartCoroutine(SearchNesRomListFlow(searchKey, page, pageSize, callback)); App.StartCoroutine(SearchNesRomListFlow(platform,searchKey, page, pageSize, callback));
} }
private IEnumerator SearchNesRomListFlow(string searchKey, int page, int pageSize, Action<int, Resp_GameList> callback) private IEnumerator SearchNesRomListFlow(AxibugProtobuf.RomPlatformType platform,string searchKey, int page, int pageSize, Action<int, Resp_GameList> callback)
{ {
if (!string.IsNullOrEmpty(searchKey)) if (!string.IsNullOrEmpty(searchKey))
{ {
@ -72,9 +73,9 @@ namespace AxibugEmuOnline.Client
}*/ }*/
} }
private IEnumerator GetNesRomListFlow(int page, int pageSize, Action<int, Resp_GameList> callback) private IEnumerator GetRomListFlow(AxibugProtobuf.RomPlatformType platform, int page, int pageSize, Action<int, Resp_GameList> callback)
{ {
string url = $"{WebSiteApi}/NesRomList?Page={page}&PageSize={pageSize}"; string url = $"{WebSiteApi}/RomList?Page={page}&PageSize={pageSize}&PType={(int)platform}";
App.log.Info($"GetRomList=>{url}"); App.log.Info($"GetRomList=>{url}");
AxiHttpProxy.SendWebRequestProxy request = AxiHttpProxy.Get(url); AxiHttpProxy.SendWebRequestProxy request = AxiHttpProxy.Get(url);
yield return request.SendWebRequest; yield return request.SendWebRequest;
@ -106,10 +107,10 @@ namespace AxibugEmuOnline.Client
*/ */
} }
public IEnumerator GetNesRomInfo(int RomID, Action<Resp_RomInfo> callback) public IEnumerator GetRomInfo(int RomID, Action<Resp_RomInfo> callback)
{ {
AxiHttpProxy.SendWebRequestProxy request = AxiHttpProxy.Get($"{WebSiteApi}/RomInfo?PType={PlatformType.Nes}&RomID={RomID}"); AxiHttpProxy.SendWebRequestProxy request = AxiHttpProxy.Get($"{WebSiteApi}/RomInfo?RomID={RomID}");
yield return request.SendWebRequest; yield return request.SendWebRequest;
if (!request.downloadHandler.isDone) if (!request.downloadHandler.isDone)
{ {
@ -140,12 +141,6 @@ namespace AxibugEmuOnline.Client
} }
enum PlatformType : byte
{
All = 0,
Nes = 1,
}
enum GameType : byte enum GameType : byte
{ {
NONE = 0, NONE = 0,
@ -180,8 +175,10 @@ namespace AxibugEmuOnline.Client
[Serializable] [Serializable]
public class Resp_RomInfo public class Resp_RomInfo
{ {
public int orderid; public int orderid;
public int id; public int id;
//TODO 后续根据ptype启动游戏时选择核心。和列表设计和UI分组解耦比如无视平台搜索列表收藏列表
public int ptype;
public string romName; public string romName;
public string gType; public string gType;
public string desc; public string desc;

View File

@ -94,7 +94,10 @@ namespace AxibugEmuOnline.Client
SaveRomInfoFromWeb(romList); SaveRomInfoFromWeb(romList);
callback.Invoke(nesRomFetchList); callback.Invoke(nesRomFetchList);
}, 0, PAGE_SIZE); },
//TODO 平台参数
AxibugProtobuf.RomPlatformType.Nes
, 0, PAGE_SIZE);
} }
else else
{ {
@ -117,7 +120,10 @@ namespace AxibugEmuOnline.Client
SaveRomInfoFromWeb(romList); SaveRomInfoFromWeb(romList);
callback.Invoke(nesRomFetchList); callback.Invoke(nesRomFetchList);
}, searchKey, 0, PAGE_SIZE); },
//TODO 平台参数
AxibugProtobuf.RomPlatformType.Nes
, searchKey, 0, PAGE_SIZE);
} }
} }
@ -143,7 +149,10 @@ namespace AxibugEmuOnline.Client
{ {
FetchPageCmd.Remove(page); FetchPageCmd.Remove(page);
SaveRomInfoFromWeb(resp); SaveRomInfoFromWeb(resp);
}, lastSearchKey, pageNo, PAGE_SIZE); },
//TODO 平台参数
AxibugProtobuf.RomPlatformType.Nes,
lastSearchKey, pageNo, PAGE_SIZE);
} }
else else
{ {
@ -151,7 +160,10 @@ namespace AxibugEmuOnline.Client
{ {
FetchPageCmd.Remove(page); FetchPageCmd.Remove(page);
SaveRomInfoFromWeb(resp); SaveRomInfoFromWeb(resp);
}, pageNo, PAGE_SIZE); },
//TODO 平台参数
AxibugProtobuf.RomPlatformType.Nes,
pageNo, PAGE_SIZE);
} }
} }

View File

@ -99,53 +99,52 @@ namespace AxibugProtobuf {
"ZFRpbWVVcxgDIAEoAhIgChhBdWRpb0ZyYW1lUGxheU5lZWRUaW1lVXMYBCAB", "ZFRpbWVVcxgDIAEoAhIgChhBdWRpb0ZyYW1lUGxheU5lZWRUaW1lVXMYBCAB",
"KAIiKgoYUHJvdG9idWZfUm9vbV9HZXRfU2NyZWVuEg4KBlJvb21JRBgBIAEo", "KAIiKgoYUHJvdG9idWZfUm9vbV9HZXRfU2NyZWVuEg4KBlJvb21JRBgBIAEo",
"BSJTCh1Qcm90b2J1Zl9Sb29tX0dldF9TY3JlZW5fUkVTUBIOCgZSb29tSUQY", "BSJTCh1Qcm90b2J1Zl9Sb29tX0dldF9TY3JlZW5fUkVTUBIOCgZSb29tSUQY",
"ASABKAUSDwoHRnJhbWVJRBgCIAEoBRIRCglSYXdCaXRtYXAYAyABKAwiZgoS", "ASABKAUSDwoHRnJhbWVJRBgCIAEoBRIRCglSYXdCaXRtYXAYAyABKAwiMgoS",
"UHJvdG9idWZfR2FtZV9NYXJrEg0KBVJvbUlEGAEgASgFEg0KBXN0YXRlGAIg", "UHJvdG9idWZfR2FtZV9NYXJrEg0KBVJvbUlEGAEgASgFEg0KBXN0YXRlGAIg",
"ASgFEjIKDFBsYXRmb3JtVHlwZRgDIAEoDjIcLkF4aWJ1Z1Byb3RvYnVmLlBs", "ASgFIigKF1Byb3RvYnVmX0dhbWVfTWFya19SRVNQEg0KBVJvbUlEGAEgASgF",
"YXRmb3JtVHlwZSJcChdQcm90b2J1Zl9HYW1lX01hcmtfUkVTUBINCgVSb21J", "KqEFCglDb21tYW5kSUQSDgoKQ01EX0RFRkFVTBAAEgwKCENNRF9QSU5HEAES",
"RBgBIAEoBRIyCgxQbGF0Zm9ybVR5cGUYAiABKA4yHC5BeGlidWdQcm90b2J1", "DAoIQ01EX1BPTkcQAhIOCglDTURfTE9HSU4Q0Q8SGAoTQ01EX1VTRVJfT05M",
"Zi5QbGF0Zm9ybVR5cGUqoQUKCUNvbW1hbmRJRBIOCgpDTURfREVGQVVMEAAS", "SU5FTElTVBC4FxISCg1DTURfVVNFUl9KT0lOENcXEhMKDkNNRF9VU0VSX0xF",
"DAoIQ01EX1BJTkcQARIMCghDTURfUE9ORxACEg4KCUNNRF9MT0dJThDRDxIY", "QVZFENgXEhoKFUNNRF9VU0VSX1NUQVRFX1VQREFURRDZFxIYChNDTURfTW9k",
"ChNDTURfVVNFUl9PTkxJTkVMSVNUELgXEhIKDUNNRF9VU0VSX0pPSU4Q1xcS", "aWZ5X05pY2tOYW1lEJ0YEhwKF0NNRF9VcGRhdGVfU2VsZlVzZXJJbmZvEKYY",
"EwoOQ01EX1VTRVJfTEVBVkUQ2BcSGgoVQ01EX1VTRVJfU1RBVEVfVVBEQVRF", "Eh0KGENNRF9VcGRhdGVfT3RoZXJVc2VySW5mbxCoGBIQCgtDTURfQ0hBVE1T",
"ENkXEhgKE0NNRF9Nb2RpZnlfTmlja05hbWUQnRgSHAoXQ01EX1VwZGF0ZV9T", "RxChHxISCg1DTURfUm9vbV9MaXN0EIknEhkKFENNRF9Sb29tX0xpc3RfVXBk",
"ZWxmVXNlckluZm8QphgSHQoYQ01EX1VwZGF0ZV9PdGhlclVzZXJJbmZvEKgY", "YXRlEIonEhgKE0NNRF9Sb29tX0dldF9TY3JlZW4QkycSFAoPQ01EX1Jvb21f",
"EhAKC0NNRF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01E", "Q3JlYXRlEO0nEhIKDUNNRF9Sb29tX0pvaW4Q8ScSEwoOQ01EX1Jvb21fTGVh",
"X1Jvb21fTGlzdF9VcGRhdGUQiicSGAoTQ01EX1Jvb21fR2V0X1NjcmVlbhCT", "dmUQ8icSIgodQ01EX1Jvb21fTXlSb29tX1N0YXRlX0NoYW5nZWQQ9icSIQoc",
"JxIUCg9DTURfUm9vbV9DcmVhdGUQ7ScSEgoNQ01EX1Jvb21fSm9pbhDxJxIT", "Q01EX1Jvb21fQ2hhbmdlUGxheWVyV2l0aEpveRCKKBIWChFDTURfUm9vbV9X",
"Cg5DTURfUm9vbV9MZWF2ZRDyJxIiCh1DTURfUm9vbV9NeVJvb21fU3RhdGVf", "YWl0U3RlcBDRKBInCiJDTURfUm9vbV9Ib3N0UGxheWVyX1VwZGF0ZVN0YXRl",
"Q2hhbmdlZBD2JxIhChxDTURfUm9vbV9DaGFuZ2VQbGF5ZXJXaXRoSm95EIoo", "UmF3ENQoEhoKFUNNRF9Sb29tX1BsYXllcl9SZWFkeRDYKBIgChtDTURfUm9v",
"EhYKEUNNRF9Sb29tX1dhaXRTdGVwENEoEicKIkNNRF9Sb29tX0hvc3RQbGF5", "bV9TaW5nZWxfUGxheWVySW5wdXQQ+i4SHQoYQ01EX1JPT01fU1lOX1BsYXll",
"ZXJfVXBkYXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jvb21fUGxheWVyX1JlYWR5", "cklucHV0EP8uEg8KCkNNRF9TY3JlZW4Q2TYSEgoNQ01EX0dBTUVfTUFSSxD1",
"ENgoEiAKG0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJbnB1dBD6LhIdChhDTURf", "TirQAQoJRXJyb3JDb2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09L",
"Uk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01EX1NjcmVlbhDZNhISCg1D", "EAESGAoURVJST1JfUk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NM",
"TURfR0FNRV9NQVJLEPVOKtABCglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVM", "T1RfQUxSRUFETFlfSEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9E",
"EAASDAoIRVJST1JfT0sQARIYChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicK", "T19DVVJSX1NUQVRFEDISHwoaRVJST1JfUk9NX0FMUkVBRFlfSEFEX1NUQVIQ",
"I0VSUk9SX1JPT01fU0xPVF9BTFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJS", "kwMSHAoXRVJST1JfUk9NX0RPTlRfSEFEX1NUQVIQlAMqQAoJTG9naW5UeXBl",
"T1JfUk9PTV9DQU5UX0RPX0NVUlJfU1RBVEUQMhIfChpFUlJPUl9ST01fQUxS", "Eg0KCVVzZURldmljZRAAEg4KClVzZUFjY291bnQQARIUChBVc2VIYW9ZdWVB",
"RUFEWV9IQURfU1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCU", "Y2NvdW50EAIqpQEKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0",
"AypACglMb2dpblR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBAB", "EAASBgoCUEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQSBwoD",
"EhQKEFVzZUhhb1l1ZUFjY291bnQQAiqlAQoKRGV2aWNlVHlwZRIWChJEZXZp", "UFMzEAUSBwoDUFM0EAYSCwoHWEJPWDM2MBAHEgsKB1hCT1hPTkUQCBIICgRX",
"Y2VUeXBlX0RlZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQ", "aWlVEAkSDwoLTmludGVuZG8zRFMQChIRCg1BbmRyb2lkQ2FyQXBwEAsqkwIK",
"AxIHCgNQU1YQBBIHCgNQUzMQBRIHCgNQUzQQBhILCgdYQk9YMzYwEAcSCwoH", "C0dhbWVQYWRUeXBlEgwKCEtleWJvYXJkEAASEQoNR2xvYmFsR2FtZVBhZBAB",
"WEJPWE9ORRAIEggKBFdpaVUQCRIPCgtOaW50ZW5kbzNEUxAKEhEKDUFuZHJv", "Eg4KClRvdWNoUGFuZWwQAhIOCgpEUzNDb250cm9sEAMSDgoKRFM0Q29udHJv",
"aWRDYXJBcHAQCyqTAgoLR2FtZVBhZFR5cGUSDAoIS2V5Ym9hcmQQABIRCg1H", "bBAEEg4KCkRTNUNvbnRyb2wQBRIUChBTd2l0Y2hQcm9Db250cm9sEAYSEAoM",
"bG9iYWxHYW1lUGFkEAESDgoKVG91Y2hQYW5lbBACEg4KCkRTM0NvbnRyb2wQ", "U3dpdGNoSm95Q29uEAcSEgoOWEJPWDM2MENvbnRyb2wQCBISCg5YQk9YT05F",
"AxIOCgpEUzRDb250cm9sEAQSDgoKRFM1Q29udHJvbBAFEhQKEFN3aXRjaFBy", "Q29udHJvbBAJEhEKDVBTVml0YUNvbnRyb2wQChISCg5XaWlVUGFkQ29udHJv",
"b0NvbnRyb2wQBhIQCgxTd2l0Y2hKb3lDb24QBxISCg5YQk9YMzYwQ29udHJv", "bBALEhQKEFdpaVJlbW90ZUNvbnRyb2wQDBIWChJOaW50ZW5kbzNEU0NvbnRy",
"bBAIEhIKDlhCT1hPTkVDb250cm9sEAkSEQoNUFNWaXRhQ29udHJvbBAKEhIK", "b2wQDSqUAQoPUm9tUGxhdGZvcm1UeXBlEgcKA0FsbBAAEgcKA05lcxABEhEK",
"DldpaVVQYWRDb250cm9sEAsSFAoQV2lpUmVtb3RlQ29udHJvbBAMEhYKEk5p", "DU1hc3Rlcl9TeXN0ZW0QAhINCglHYW1lX0dlYXIQAxIMCghHYW1lX0JveRAE",
"bnRlbmRvM0RTQ29udHJvbBANKmQKDFBsYXRmb3JtVHlwZRIHCgNBbGwQABIH", "EhIKDkdhbWVfQm95X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lvbhAGEgsKB1ND",
"CgNOZXMQARIRCg1NYXN0ZXJfU3lzdGVtEAISDQoJR2FtZV9HZWFyEAMSDAoI", "XzMwMDAQBxILCgdTR18xMDAwEAgqcAoNUm9vbUdhbWVTdGF0ZRISCg5Ob25l",
"R2FtZV9Cb3kQBBISCg5HYW1lX0JveV9Db2xvchAFKnAKDVJvb21HYW1lU3Rh", "X0dhbWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAESEQoNV2FpdFJhd1VwZGF0ZRAC",
"dGUSEgoOTm9uZV9HYW1lU3RhdGUQABIMCghPbmx5SG9zdBABEhEKDVdhaXRS", "Eg0KCVdhaXRSZWFkeRADEgkKBVBhdXNlEAQSEAoMSW5PbmxpbmVHYW1lEAUq",
"YXdVcGRhdGUQAhINCglXYWl0UmVhZHkQAxIJCgVQYXVzZRAEEhAKDEluT25s", "TgoRTG9naW5SZXN1bHRTdGF0dXMSIQodTG9naW5SZXN1bHRTdGF0dXNfQmFz",
"aW5lR2FtZRAFKk4KEUxvZ2luUmVzdWx0U3RhdHVzEiEKHUxvZ2luUmVzdWx0", "ZURlZmF1bHQQABIGCgJPSxABEg4KCkFjY291bnRFcnIQAkICSAFiBnByb3Rv",
"U3RhdHVzX0Jhc2VEZWZhdWx0EAASBgoCT0sQARIOCgpBY2NvdW50RXJyEAJC", "Mw=="));
"AkgBYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { }, new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.PlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg), global::AxibugProtobuf.Protobuf_ChatMsg.Parser, new[]{ "ChatMsg" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg), global::AxibugProtobuf.Protobuf_ChatMsg.Parser, new[]{ "ChatMsg" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg_RESP), global::AxibugProtobuf.Protobuf_ChatMsg_RESP.Parser, new[]{ "NickName", "ChatMsg", "Date" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg_RESP), global::AxibugProtobuf.Protobuf_ChatMsg_RESP.Parser, new[]{ "NickName", "ChatMsg", "Date" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Ping), global::AxibugProtobuf.Protobuf_Ping.Parser, new[]{ "Seed" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Ping), global::AxibugProtobuf.Protobuf_Ping.Parser, new[]{ "Seed" }, null, null, null, null),
@ -186,8 +185,8 @@ namespace AxibugProtobuf {
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, new[]{ "PushFrameNeedTimeUs", "LoadStateNeedTimeUs", "VideoFrameShowNeedTimeUs", "AudioFramePlayNeedTimeUs" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, new[]{ "PushFrameNeedTimeUs", "LoadStateNeedTimeUs", "VideoFrameShowNeedTimeUs", "AudioFramePlayNeedTimeUs" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen), global::AxibugProtobuf.Protobuf_Room_Get_Screen.Parser, new[]{ "RoomID" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen), global::AxibugProtobuf.Protobuf_Room_Get_Screen.Parser, new[]{ "RoomID" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP), global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP), global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark), global::AxibugProtobuf.Protobuf_Game_Mark.Parser, new[]{ "RomID", "State", "PlatformType" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark), global::AxibugProtobuf.Protobuf_Game_Mark.Parser, new[]{ "RomID", "State" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "PlatformType" }, null, null, null, null) new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID" }, null, null, null, null)
})); }));
} }
#endregion #endregion
@ -371,7 +370,7 @@ namespace AxibugProtobuf {
public enum DeviceType { public enum DeviceType {
/// <summary> /// <summary>
///缺省不使 ///
/// </summary> /// </summary>
[pbr::OriginalName("DeviceType_Default")] Default = 0, [pbr::OriginalName("DeviceType_Default")] Default = 0,
[pbr::OriginalName("PC")] Pc = 1, [pbr::OriginalName("PC")] Pc = 1,
@ -416,13 +415,16 @@ namespace AxibugProtobuf {
[pbr::OriginalName("Nintendo3DSControl")] Nintendo3Dscontrol = 13, [pbr::OriginalName("Nintendo3DSControl")] Nintendo3Dscontrol = 13,
} }
public enum PlatformType { public enum RomPlatformType {
[pbr::OriginalName("All")] All = 0, [pbr::OriginalName("All")] All = 0,
[pbr::OriginalName("Nes")] Nes = 1, [pbr::OriginalName("Nes")] Nes = 1,
[pbr::OriginalName("Master_System")] MasterSystem = 2, [pbr::OriginalName("Master_System")] MasterSystem = 2,
[pbr::OriginalName("Game_Gear")] GameGear = 3, [pbr::OriginalName("Game_Gear")] GameGear = 3,
[pbr::OriginalName("Game_Boy")] GameBoy = 4, [pbr::OriginalName("Game_Boy")] GameBoy = 4,
[pbr::OriginalName("Game_Boy_Color")] GameBoyColor = 5, [pbr::OriginalName("Game_Boy_Color")] GameBoyColor = 5,
[pbr::OriginalName("Coleco_Vision")] ColecoVision = 6,
[pbr::OriginalName("SC_3000")] Sc3000 = 7,
[pbr::OriginalName("SG_1000")] Sg1000 = 8,
} }
public enum RoomGameState { public enum RoomGameState {
@ -9023,7 +9025,6 @@ namespace AxibugProtobuf {
public Protobuf_Game_Mark(Protobuf_Game_Mark other) : this() { public Protobuf_Game_Mark(Protobuf_Game_Mark other) : this() {
romID_ = other.romID_; romID_ = other.romID_;
state_ = other.state_; state_ = other.state_;
platformType_ = other.platformType_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
} }
@ -9060,20 +9061,6 @@ namespace AxibugProtobuf {
} }
} }
/// <summary>Field number for the "PlatformType" field.</summary>
public const int PlatformTypeFieldNumber = 3;
private global::AxibugProtobuf.PlatformType platformType_ = global::AxibugProtobuf.PlatformType.All;
/// <summary>
///平台类型
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::AxibugProtobuf.PlatformType PlatformType {
get { return platformType_; }
set {
platformType_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) { public override bool Equals(object other) {
return Equals(other as Protobuf_Game_Mark); return Equals(other as Protobuf_Game_Mark);
@ -9089,7 +9076,6 @@ namespace AxibugProtobuf {
} }
if (RomID != other.RomID) return false; if (RomID != other.RomID) return false;
if (State != other.State) return false; if (State != other.State) return false;
if (PlatformType != other.PlatformType) return false;
return Equals(_unknownFields, other._unknownFields); return Equals(_unknownFields, other._unknownFields);
} }
@ -9098,7 +9084,6 @@ namespace AxibugProtobuf {
int hash = 1; int hash = 1;
if (RomID != 0) hash ^= RomID.GetHashCode(); if (RomID != 0) hash ^= RomID.GetHashCode();
if (State != 0) hash ^= State.GetHashCode(); if (State != 0) hash ^= State.GetHashCode();
if (PlatformType != global::AxibugProtobuf.PlatformType.All) hash ^= PlatformType.GetHashCode();
if (_unknownFields != null) { if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode(); hash ^= _unknownFields.GetHashCode();
} }
@ -9123,10 +9108,6 @@ namespace AxibugProtobuf {
output.WriteRawTag(16); output.WriteRawTag(16);
output.WriteInt32(State); output.WriteInt32(State);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
output.WriteRawTag(24);
output.WriteEnum((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
_unknownFields.WriteTo(output); _unknownFields.WriteTo(output);
} }
@ -9144,10 +9125,6 @@ namespace AxibugProtobuf {
output.WriteRawTag(16); output.WriteRawTag(16);
output.WriteInt32(State); output.WriteInt32(State);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
output.WriteRawTag(24);
output.WriteEnum((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
_unknownFields.WriteTo(ref output); _unknownFields.WriteTo(ref output);
} }
@ -9163,9 +9140,6 @@ namespace AxibugProtobuf {
if (State != 0) { if (State != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(State); size += 1 + pb::CodedOutputStream.ComputeInt32Size(State);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
size += _unknownFields.CalculateSize(); size += _unknownFields.CalculateSize();
} }
@ -9183,9 +9157,6 @@ namespace AxibugProtobuf {
if (other.State != 0) { if (other.State != 0) {
State = other.State; State = other.State;
} }
if (other.PlatformType != global::AxibugProtobuf.PlatformType.All) {
PlatformType = other.PlatformType;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
} }
@ -9208,10 +9179,6 @@ namespace AxibugProtobuf {
State = input.ReadInt32(); State = input.ReadInt32();
break; break;
} }
case 24: {
PlatformType = (global::AxibugProtobuf.PlatformType) input.ReadEnum();
break;
}
} }
} }
#endif #endif
@ -9234,10 +9201,6 @@ namespace AxibugProtobuf {
State = input.ReadInt32(); State = input.ReadInt32();
break; break;
} }
case 24: {
PlatformType = (global::AxibugProtobuf.PlatformType) input.ReadEnum();
break;
}
} }
} }
} }
@ -9275,7 +9238,6 @@ namespace AxibugProtobuf {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public Protobuf_Game_Mark_RESP(Protobuf_Game_Mark_RESP other) : this() { public Protobuf_Game_Mark_RESP(Protobuf_Game_Mark_RESP other) : this() {
romID_ = other.romID_; romID_ = other.romID_;
platformType_ = other.platformType_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
} }
@ -9298,20 +9260,6 @@ namespace AxibugProtobuf {
} }
} }
/// <summary>Field number for the "PlatformType" field.</summary>
public const int PlatformTypeFieldNumber = 2;
private global::AxibugProtobuf.PlatformType platformType_ = global::AxibugProtobuf.PlatformType.All;
/// <summary>
///平台类型
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::AxibugProtobuf.PlatformType PlatformType {
get { return platformType_; }
set {
platformType_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) { public override bool Equals(object other) {
return Equals(other as Protobuf_Game_Mark_RESP); return Equals(other as Protobuf_Game_Mark_RESP);
@ -9326,7 +9274,6 @@ namespace AxibugProtobuf {
return true; return true;
} }
if (RomID != other.RomID) return false; if (RomID != other.RomID) return false;
if (PlatformType != other.PlatformType) return false;
return Equals(_unknownFields, other._unknownFields); return Equals(_unknownFields, other._unknownFields);
} }
@ -9334,7 +9281,6 @@ namespace AxibugProtobuf {
public override int GetHashCode() { public override int GetHashCode() {
int hash = 1; int hash = 1;
if (RomID != 0) hash ^= RomID.GetHashCode(); if (RomID != 0) hash ^= RomID.GetHashCode();
if (PlatformType != global::AxibugProtobuf.PlatformType.All) hash ^= PlatformType.GetHashCode();
if (_unknownFields != null) { if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode(); hash ^= _unknownFields.GetHashCode();
} }
@ -9355,10 +9301,6 @@ namespace AxibugProtobuf {
output.WriteRawTag(8); output.WriteRawTag(8);
output.WriteInt32(RomID); output.WriteInt32(RomID);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
output.WriteRawTag(16);
output.WriteEnum((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
_unknownFields.WriteTo(output); _unknownFields.WriteTo(output);
} }
@ -9372,10 +9314,6 @@ namespace AxibugProtobuf {
output.WriteRawTag(8); output.WriteRawTag(8);
output.WriteInt32(RomID); output.WriteInt32(RomID);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
output.WriteRawTag(16);
output.WriteEnum((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
_unknownFields.WriteTo(ref output); _unknownFields.WriteTo(ref output);
} }
@ -9388,9 +9326,6 @@ namespace AxibugProtobuf {
if (RomID != 0) { if (RomID != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID); size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
size += _unknownFields.CalculateSize(); size += _unknownFields.CalculateSize();
} }
@ -9405,9 +9340,6 @@ namespace AxibugProtobuf {
if (other.RomID != 0) { if (other.RomID != 0) {
RomID = other.RomID; RomID = other.RomID;
} }
if (other.PlatformType != global::AxibugProtobuf.PlatformType.All) {
PlatformType = other.PlatformType;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
} }
@ -9426,10 +9358,6 @@ namespace AxibugProtobuf {
RomID = input.ReadInt32(); RomID = input.ReadInt32();
break; break;
} }
case 16: {
PlatformType = (global::AxibugProtobuf.PlatformType) input.ReadEnum();
break;
}
} }
} }
#endif #endif
@ -9448,10 +9376,6 @@ namespace AxibugProtobuf {
RomID = input.ReadInt32(); RomID = input.ReadInt32();
break; break;
} }
case 16: {
PlatformType = (global::AxibugProtobuf.PlatformType) input.ReadEnum();
break;
}
} }
} }
} }

View File

@ -38,7 +38,7 @@ namespace AxibugEmuOnline.Client
{ {
RomFile romFile; RomFile romFile;
if (s_RomFileCahcesInRoomInfo.TryGetValue(roomInfo.GameRomID, out romFile)) if (s_RomFileCahcesInRoomInfo.TryGetValue(roomInfo.GameRomID, out romFile))
{ {
callback.Invoke(roomInfo, romFile); callback.Invoke(roomInfo, romFile);
return; return;
@ -46,10 +46,10 @@ namespace AxibugEmuOnline.Client
switch (platform) switch (platform)
{ {
case EnumSupportEmuPlatform.NES: case EnumSupportEmuPlatform.NES:
App.StartCoroutine(App.httpAPI.GetNesRomInfo(roomInfo.GameRomID, (romWebData) => App.StartCoroutine(App.httpAPI.GetRomInfo(roomInfo.GameRomID, (romWebData) =>
{ {
RomFile _romFile = new RomFile(EnumSupportEmuPlatform.NES, 0, 0); RomFile _romFile = new RomFile(EnumSupportEmuPlatform.NES, 0, 0);
_romFile.SetWebData(romWebData); _romFile.SetWebData(romWebData);
s_RomFileCahcesInRoomInfo[roomInfo.GameRomID] = _romFile; s_RomFileCahcesInRoomInfo[roomInfo.GameRomID] = _romFile;
callback.Invoke(roomInfo, _romFile); callback.Invoke(roomInfo, _romFile);

View File

@ -49,12 +49,11 @@ namespace AxibugEmuOnline.Server.Manager
} }
else else
{ {
query = "INSERT INTO `haoyue_emu`.`rom_stars` (`uid`, `platform`, `romid`) VALUES (?uid, ?platform, ?romid);"; query = "INSERT INTO `haoyue_emu`.`rom_stars` (`uid`, `romid`) VALUES (?uid, ?romid);";
using (var command = new MySqlCommand(query, conn)) using (var command = new MySqlCommand(query, conn))
{ {
// 设置参数值 // 设置参数值
command.Parameters.AddWithValue("?uid", _c.UID); command.Parameters.AddWithValue("?uid", _c.UID);
command.Parameters.AddWithValue("?platform", (int)msg.PlatformType);
command.Parameters.AddWithValue("?romid", msg.RomID); command.Parameters.AddWithValue("?romid", msg.RomID);
command.ExecuteNonQuery(); command.ExecuteNonQuery();
} }
@ -64,12 +63,11 @@ namespace AxibugEmuOnline.Server.Manager
{ {
if (bHad) if (bHad)
{ {
query = "DELETE from rom_stars where uid = ?uid and romid = ?romid and platform = ?platform"; query = "DELETE from rom_stars where uid = ?uid and romid = ?romid";
using (var command = new MySqlCommand(query, conn)) using (var command = new MySqlCommand(query, conn))
{ {
// 设置参数值 // 设置参数值
command.Parameters.AddWithValue("?uid", _c.UID); command.Parameters.AddWithValue("?uid", _c.UID);
command.Parameters.AddWithValue("?platform", (int)msg.PlatformType);
command.Parameters.AddWithValue("?romid", msg.RomID); command.Parameters.AddWithValue("?romid", msg.RomID);
command.ExecuteNonQuery(); command.ExecuteNonQuery();
} }
@ -81,10 +79,9 @@ namespace AxibugEmuOnline.Server.Manager
} }
} }
//更新收藏数 //更新收藏数
query = "update romlist_nes set stars = (SELECT COUNT(id) from rom_stars where rom_stars.romid = ?romid and rom_stars.platform = ?platform) where romlist_nes.id = ?romid"; query = "update romlist set stars = (SELECT COUNT(id) from rom_stars where rom_stars.romid = ?romid) where romlist.id = ?romid";
using (var command = new MySqlCommand(query, conn)) using (var command = new MySqlCommand(query, conn))
{ {
command.Parameters.AddWithValue("?platform", (int)msg.PlatformType);
command.Parameters.AddWithValue("?romid", msg.RomID); command.Parameters.AddWithValue("?romid", msg.RomID);
command.ExecuteNonQuery(); command.ExecuteNonQuery();
} }
@ -94,7 +91,6 @@ namespace AxibugEmuOnline.Server.Manager
{ {
} }
Haoyue_SQLPoolManager.EnqueueSQLConn(conn); Haoyue_SQLPoolManager.EnqueueSQLConn(conn);
respData.PlatformType = msg.PlatformType;
respData.RomID = msg.RomID; respData.RomID = msg.RomID;
AppSrv.g_ClientMgr.ClientSend(_c, (int)CommandID.CmdGameMark, (int)ErrorCode.ErrorOk, ProtoBufHelper.Serizlize(respData)); AppSrv.g_ClientMgr.ClientSend(_c, (int)CommandID.CmdGameMark, (int)ErrorCode.ErrorOk, ProtoBufHelper.Serizlize(respData));
} }

View File

@ -126,7 +126,7 @@ namespace AxibugEmuOnline.Server
if (state == RoomLogType.Create) if (state == RoomLogType.Create)
{ {
query = "update romlist_nes set playcount = playcount + 1 where id = ?romid"; query = "update romlist set playcount = playcount + 1 where id = ?romid";
using (var command = new MySqlCommand(query, conn)) using (var command = new MySqlCommand(query, conn))
{ {
command.Parameters.AddWithValue("?romid", RomID); command.Parameters.AddWithValue("?romid", RomID);

View File

@ -94,7 +94,7 @@ namespace AxibugEmuOnline.Server
List<(int id, string romurl, string name)> list = new List<(int id, string romurl, string name)>(); List<(int id, string romurl, string name)> list = new List<(int id, string romurl, string name)>();
List<(int id, string romurl, string name)> Nonelist = new List<(int id, string romurl, string name)>(); List<(int id, string romurl, string name)> Nonelist = new List<(int id, string romurl, string name)>();
string query = $"SELECT id,`Name`,GameType,Note,RomUrl,ImgUrl,`Hash` FROM romlist_nes"; string query = $"SELECT id,`Name`,GameType,Note,RomUrl,ImgUrl,`Hash` FROM romlist";
using (var command = new MySqlCommand(query, conn)) using (var command = new MySqlCommand(query, conn))
{ {
// 执行查询并处理结果 // 执行查询并处理结果
@ -122,7 +122,7 @@ namespace AxibugEmuOnline.Server
} }
string romhash = Helper.FileMD5Hash(rompath); string romhash = Helper.FileMD5Hash(rompath);
AppSrv.g_Log.Info($"第{i}个Name->{list[i].name},Hash->{romhash}"); AppSrv.g_Log.Info($"第{i}个Name->{list[i].name},Hash->{romhash}");
query = $"update romlist_nes SET `Hash` = '{romhash}' where Id ={list[i].id}"; query = $"update romlist SET `Hash` = '{romhash}' where Id ={list[i].id}";
using (var command = new MySqlCommand(query, conn)) using (var command = new MySqlCommand(query, conn))
{ {
// 执行查询并处理结果 // 执行查询并处理结果

View File

@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
--> -->
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<History>True|2025-01-06T16:21:47.4863058Z||;True|2025-01-07T00:16:42.7998249+08:00||;False|2025-01-07T00:16:02.8107509+08:00||;False|2025-01-02T15:36:18.1906464+08:00||;False|2025-01-02T15:36:06.5622643+08:00||;True|2024-12-27T18:24:49.7554320+08:00||;</History> <History>True|2025-01-07T02:47:36.6196477Z||;True|2025-01-07T01:21:34.5863249+08:00||;False|2025-01-07T01:20:39.5344134+08:00||;True|2025-01-07T00:21:47.4863058+08:00||;True|2025-01-07T00:16:42.7998249+08:00||;False|2025-01-07T00:16:02.8107509+08:00||;False|2025-01-02T15:36:18.1906464+08:00||;False|2025-01-02T15:36:06.5622643+08:00||;True|2024-12-27T18:24:49.7554320+08:00||;</History>
<LastFailureDetails /> <LastFailureDetails />
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@ -99,53 +99,52 @@ namespace AxibugProtobuf {
"ZFRpbWVVcxgDIAEoAhIgChhBdWRpb0ZyYW1lUGxheU5lZWRUaW1lVXMYBCAB", "ZFRpbWVVcxgDIAEoAhIgChhBdWRpb0ZyYW1lUGxheU5lZWRUaW1lVXMYBCAB",
"KAIiKgoYUHJvdG9idWZfUm9vbV9HZXRfU2NyZWVuEg4KBlJvb21JRBgBIAEo", "KAIiKgoYUHJvdG9idWZfUm9vbV9HZXRfU2NyZWVuEg4KBlJvb21JRBgBIAEo",
"BSJTCh1Qcm90b2J1Zl9Sb29tX0dldF9TY3JlZW5fUkVTUBIOCgZSb29tSUQY", "BSJTCh1Qcm90b2J1Zl9Sb29tX0dldF9TY3JlZW5fUkVTUBIOCgZSb29tSUQY",
"ASABKAUSDwoHRnJhbWVJRBgCIAEoBRIRCglSYXdCaXRtYXAYAyABKAwiZgoS", "ASABKAUSDwoHRnJhbWVJRBgCIAEoBRIRCglSYXdCaXRtYXAYAyABKAwiMgoS",
"UHJvdG9idWZfR2FtZV9NYXJrEg0KBVJvbUlEGAEgASgFEg0KBXN0YXRlGAIg", "UHJvdG9idWZfR2FtZV9NYXJrEg0KBVJvbUlEGAEgASgFEg0KBXN0YXRlGAIg",
"ASgFEjIKDFBsYXRmb3JtVHlwZRgDIAEoDjIcLkF4aWJ1Z1Byb3RvYnVmLlBs", "ASgFIigKF1Byb3RvYnVmX0dhbWVfTWFya19SRVNQEg0KBVJvbUlEGAEgASgF",
"YXRmb3JtVHlwZSJcChdQcm90b2J1Zl9HYW1lX01hcmtfUkVTUBINCgVSb21J", "KqEFCglDb21tYW5kSUQSDgoKQ01EX0RFRkFVTBAAEgwKCENNRF9QSU5HEAES",
"RBgBIAEoBRIyCgxQbGF0Zm9ybVR5cGUYAiABKA4yHC5BeGlidWdQcm90b2J1", "DAoIQ01EX1BPTkcQAhIOCglDTURfTE9HSU4Q0Q8SGAoTQ01EX1VTRVJfT05M",
"Zi5QbGF0Zm9ybVR5cGUqoQUKCUNvbW1hbmRJRBIOCgpDTURfREVGQVVMEAAS", "SU5FTElTVBC4FxISCg1DTURfVVNFUl9KT0lOENcXEhMKDkNNRF9VU0VSX0xF",
"DAoIQ01EX1BJTkcQARIMCghDTURfUE9ORxACEg4KCUNNRF9MT0dJThDRDxIY", "QVZFENgXEhoKFUNNRF9VU0VSX1NUQVRFX1VQREFURRDZFxIYChNDTURfTW9k",
"ChNDTURfVVNFUl9PTkxJTkVMSVNUELgXEhIKDUNNRF9VU0VSX0pPSU4Q1xcS", "aWZ5X05pY2tOYW1lEJ0YEhwKF0NNRF9VcGRhdGVfU2VsZlVzZXJJbmZvEKYY",
"EwoOQ01EX1VTRVJfTEVBVkUQ2BcSGgoVQ01EX1VTRVJfU1RBVEVfVVBEQVRF", "Eh0KGENNRF9VcGRhdGVfT3RoZXJVc2VySW5mbxCoGBIQCgtDTURfQ0hBVE1T",
"ENkXEhgKE0NNRF9Nb2RpZnlfTmlja05hbWUQnRgSHAoXQ01EX1VwZGF0ZV9T", "RxChHxISCg1DTURfUm9vbV9MaXN0EIknEhkKFENNRF9Sb29tX0xpc3RfVXBk",
"ZWxmVXNlckluZm8QphgSHQoYQ01EX1VwZGF0ZV9PdGhlclVzZXJJbmZvEKgY", "YXRlEIonEhgKE0NNRF9Sb29tX0dldF9TY3JlZW4QkycSFAoPQ01EX1Jvb21f",
"EhAKC0NNRF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01E", "Q3JlYXRlEO0nEhIKDUNNRF9Sb29tX0pvaW4Q8ScSEwoOQ01EX1Jvb21fTGVh",
"X1Jvb21fTGlzdF9VcGRhdGUQiicSGAoTQ01EX1Jvb21fR2V0X1NjcmVlbhCT", "dmUQ8icSIgodQ01EX1Jvb21fTXlSb29tX1N0YXRlX0NoYW5nZWQQ9icSIQoc",
"JxIUCg9DTURfUm9vbV9DcmVhdGUQ7ScSEgoNQ01EX1Jvb21fSm9pbhDxJxIT", "Q01EX1Jvb21fQ2hhbmdlUGxheWVyV2l0aEpveRCKKBIWChFDTURfUm9vbV9X",
"Cg5DTURfUm9vbV9MZWF2ZRDyJxIiCh1DTURfUm9vbV9NeVJvb21fU3RhdGVf", "YWl0U3RlcBDRKBInCiJDTURfUm9vbV9Ib3N0UGxheWVyX1VwZGF0ZVN0YXRl",
"Q2hhbmdlZBD2JxIhChxDTURfUm9vbV9DaGFuZ2VQbGF5ZXJXaXRoSm95EIoo", "UmF3ENQoEhoKFUNNRF9Sb29tX1BsYXllcl9SZWFkeRDYKBIgChtDTURfUm9v",
"EhYKEUNNRF9Sb29tX1dhaXRTdGVwENEoEicKIkNNRF9Sb29tX0hvc3RQbGF5", "bV9TaW5nZWxfUGxheWVySW5wdXQQ+i4SHQoYQ01EX1JPT01fU1lOX1BsYXll",
"ZXJfVXBkYXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jvb21fUGxheWVyX1JlYWR5", "cklucHV0EP8uEg8KCkNNRF9TY3JlZW4Q2TYSEgoNQ01EX0dBTUVfTUFSSxD1",
"ENgoEiAKG0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJbnB1dBD6LhIdChhDTURf", "TirQAQoJRXJyb3JDb2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09L",
"Uk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01EX1NjcmVlbhDZNhISCg1D", "EAESGAoURVJST1JfUk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NM",
"TURfR0FNRV9NQVJLEPVOKtABCglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVM", "T1RfQUxSRUFETFlfSEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9E",
"EAASDAoIRVJST1JfT0sQARIYChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicK", "T19DVVJSX1NUQVRFEDISHwoaRVJST1JfUk9NX0FMUkVBRFlfSEFEX1NUQVIQ",
"I0VSUk9SX1JPT01fU0xPVF9BTFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJS", "kwMSHAoXRVJST1JfUk9NX0RPTlRfSEFEX1NUQVIQlAMqQAoJTG9naW5UeXBl",
"T1JfUk9PTV9DQU5UX0RPX0NVUlJfU1RBVEUQMhIfChpFUlJPUl9ST01fQUxS", "Eg0KCVVzZURldmljZRAAEg4KClVzZUFjY291bnQQARIUChBVc2VIYW9ZdWVB",
"RUFEWV9IQURfU1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCU", "Y2NvdW50EAIqpQEKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0",
"AypACglMb2dpblR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBAB", "EAASBgoCUEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQSBwoD",
"EhQKEFVzZUhhb1l1ZUFjY291bnQQAiqlAQoKRGV2aWNlVHlwZRIWChJEZXZp", "UFMzEAUSBwoDUFM0EAYSCwoHWEJPWDM2MBAHEgsKB1hCT1hPTkUQCBIICgRX",
"Y2VUeXBlX0RlZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQ", "aWlVEAkSDwoLTmludGVuZG8zRFMQChIRCg1BbmRyb2lkQ2FyQXBwEAsqkwIK",
"AxIHCgNQU1YQBBIHCgNQUzMQBRIHCgNQUzQQBhILCgdYQk9YMzYwEAcSCwoH", "C0dhbWVQYWRUeXBlEgwKCEtleWJvYXJkEAASEQoNR2xvYmFsR2FtZVBhZBAB",
"WEJPWE9ORRAIEggKBFdpaVUQCRIPCgtOaW50ZW5kbzNEUxAKEhEKDUFuZHJv", "Eg4KClRvdWNoUGFuZWwQAhIOCgpEUzNDb250cm9sEAMSDgoKRFM0Q29udHJv",
"aWRDYXJBcHAQCyqTAgoLR2FtZVBhZFR5cGUSDAoIS2V5Ym9hcmQQABIRCg1H", "bBAEEg4KCkRTNUNvbnRyb2wQBRIUChBTd2l0Y2hQcm9Db250cm9sEAYSEAoM",
"bG9iYWxHYW1lUGFkEAESDgoKVG91Y2hQYW5lbBACEg4KCkRTM0NvbnRyb2wQ", "U3dpdGNoSm95Q29uEAcSEgoOWEJPWDM2MENvbnRyb2wQCBISCg5YQk9YT05F",
"AxIOCgpEUzRDb250cm9sEAQSDgoKRFM1Q29udHJvbBAFEhQKEFN3aXRjaFBy", "Q29udHJvbBAJEhEKDVBTVml0YUNvbnRyb2wQChISCg5XaWlVUGFkQ29udHJv",
"b0NvbnRyb2wQBhIQCgxTd2l0Y2hKb3lDb24QBxISCg5YQk9YMzYwQ29udHJv", "bBALEhQKEFdpaVJlbW90ZUNvbnRyb2wQDBIWChJOaW50ZW5kbzNEU0NvbnRy",
"bBAIEhIKDlhCT1hPTkVDb250cm9sEAkSEQoNUFNWaXRhQ29udHJvbBAKEhIK", "b2wQDSqUAQoPUm9tUGxhdGZvcm1UeXBlEgcKA0FsbBAAEgcKA05lcxABEhEK",
"DldpaVVQYWRDb250cm9sEAsSFAoQV2lpUmVtb3RlQ29udHJvbBAMEhYKEk5p", "DU1hc3Rlcl9TeXN0ZW0QAhINCglHYW1lX0dlYXIQAxIMCghHYW1lX0JveRAE",
"bnRlbmRvM0RTQ29udHJvbBANKmQKDFBsYXRmb3JtVHlwZRIHCgNBbGwQABIH", "EhIKDkdhbWVfQm95X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lvbhAGEgsKB1ND",
"CgNOZXMQARIRCg1NYXN0ZXJfU3lzdGVtEAISDQoJR2FtZV9HZWFyEAMSDAoI", "XzMwMDAQBxILCgdTR18xMDAwEAgqcAoNUm9vbUdhbWVTdGF0ZRISCg5Ob25l",
"R2FtZV9Cb3kQBBISCg5HYW1lX0JveV9Db2xvchAFKnAKDVJvb21HYW1lU3Rh", "X0dhbWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAESEQoNV2FpdFJhd1VwZGF0ZRAC",
"dGUSEgoOTm9uZV9HYW1lU3RhdGUQABIMCghPbmx5SG9zdBABEhEKDVdhaXRS", "Eg0KCVdhaXRSZWFkeRADEgkKBVBhdXNlEAQSEAoMSW5PbmxpbmVHYW1lEAUq",
"YXdVcGRhdGUQAhINCglXYWl0UmVhZHkQAxIJCgVQYXVzZRAEEhAKDEluT25s", "TgoRTG9naW5SZXN1bHRTdGF0dXMSIQodTG9naW5SZXN1bHRTdGF0dXNfQmFz",
"aW5lR2FtZRAFKk4KEUxvZ2luUmVzdWx0U3RhdHVzEiEKHUxvZ2luUmVzdWx0", "ZURlZmF1bHQQABIGCgJPSxABEg4KCkFjY291bnRFcnIQAkICSAFiBnByb3Rv",
"U3RhdHVzX0Jhc2VEZWZhdWx0EAASBgoCT0sQARIOCgpBY2NvdW50RXJyEAJC", "Mw=="));
"AkgBYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { }, new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.PlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg), global::AxibugProtobuf.Protobuf_ChatMsg.Parser, new[]{ "ChatMsg" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg), global::AxibugProtobuf.Protobuf_ChatMsg.Parser, new[]{ "ChatMsg" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg_RESP), global::AxibugProtobuf.Protobuf_ChatMsg_RESP.Parser, new[]{ "NickName", "ChatMsg", "Date" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg_RESP), global::AxibugProtobuf.Protobuf_ChatMsg_RESP.Parser, new[]{ "NickName", "ChatMsg", "Date" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Ping), global::AxibugProtobuf.Protobuf_Ping.Parser, new[]{ "Seed" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Ping), global::AxibugProtobuf.Protobuf_Ping.Parser, new[]{ "Seed" }, null, null, null, null),
@ -186,8 +185,8 @@ namespace AxibugProtobuf {
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, new[]{ "PushFrameNeedTimeUs", "LoadStateNeedTimeUs", "VideoFrameShowNeedTimeUs", "AudioFramePlayNeedTimeUs" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, new[]{ "PushFrameNeedTimeUs", "LoadStateNeedTimeUs", "VideoFrameShowNeedTimeUs", "AudioFramePlayNeedTimeUs" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen), global::AxibugProtobuf.Protobuf_Room_Get_Screen.Parser, new[]{ "RoomID" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen), global::AxibugProtobuf.Protobuf_Room_Get_Screen.Parser, new[]{ "RoomID" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP), global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP), global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark), global::AxibugProtobuf.Protobuf_Game_Mark.Parser, new[]{ "RomID", "State", "PlatformType" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark), global::AxibugProtobuf.Protobuf_Game_Mark.Parser, new[]{ "RomID", "State" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "PlatformType" }, null, null, null, null) new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID" }, null, null, null, null)
})); }));
} }
#endregion #endregion
@ -371,7 +370,7 @@ namespace AxibugProtobuf {
public enum DeviceType { public enum DeviceType {
/// <summary> /// <summary>
///缺省不使 ///
/// </summary> /// </summary>
[pbr::OriginalName("DeviceType_Default")] Default = 0, [pbr::OriginalName("DeviceType_Default")] Default = 0,
[pbr::OriginalName("PC")] Pc = 1, [pbr::OriginalName("PC")] Pc = 1,
@ -416,13 +415,16 @@ namespace AxibugProtobuf {
[pbr::OriginalName("Nintendo3DSControl")] Nintendo3Dscontrol = 13, [pbr::OriginalName("Nintendo3DSControl")] Nintendo3Dscontrol = 13,
} }
public enum PlatformType { public enum RomPlatformType {
[pbr::OriginalName("All")] All = 0, [pbr::OriginalName("All")] All = 0,
[pbr::OriginalName("Nes")] Nes = 1, [pbr::OriginalName("Nes")] Nes = 1,
[pbr::OriginalName("Master_System")] MasterSystem = 2, [pbr::OriginalName("Master_System")] MasterSystem = 2,
[pbr::OriginalName("Game_Gear")] GameGear = 3, [pbr::OriginalName("Game_Gear")] GameGear = 3,
[pbr::OriginalName("Game_Boy")] GameBoy = 4, [pbr::OriginalName("Game_Boy")] GameBoy = 4,
[pbr::OriginalName("Game_Boy_Color")] GameBoyColor = 5, [pbr::OriginalName("Game_Boy_Color")] GameBoyColor = 5,
[pbr::OriginalName("Coleco_Vision")] ColecoVision = 6,
[pbr::OriginalName("SC_3000")] Sc3000 = 7,
[pbr::OriginalName("SG_1000")] Sg1000 = 8,
} }
public enum RoomGameState { public enum RoomGameState {
@ -9023,7 +9025,6 @@ namespace AxibugProtobuf {
public Protobuf_Game_Mark(Protobuf_Game_Mark other) : this() { public Protobuf_Game_Mark(Protobuf_Game_Mark other) : this() {
romID_ = other.romID_; romID_ = other.romID_;
state_ = other.state_; state_ = other.state_;
platformType_ = other.platformType_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
} }
@ -9060,20 +9061,6 @@ namespace AxibugProtobuf {
} }
} }
/// <summary>Field number for the "PlatformType" field.</summary>
public const int PlatformTypeFieldNumber = 3;
private global::AxibugProtobuf.PlatformType platformType_ = global::AxibugProtobuf.PlatformType.All;
/// <summary>
///平台类型
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::AxibugProtobuf.PlatformType PlatformType {
get { return platformType_; }
set {
platformType_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) { public override bool Equals(object other) {
return Equals(other as Protobuf_Game_Mark); return Equals(other as Protobuf_Game_Mark);
@ -9089,7 +9076,6 @@ namespace AxibugProtobuf {
} }
if (RomID != other.RomID) return false; if (RomID != other.RomID) return false;
if (State != other.State) return false; if (State != other.State) return false;
if (PlatformType != other.PlatformType) return false;
return Equals(_unknownFields, other._unknownFields); return Equals(_unknownFields, other._unknownFields);
} }
@ -9098,7 +9084,6 @@ namespace AxibugProtobuf {
int hash = 1; int hash = 1;
if (RomID != 0) hash ^= RomID.GetHashCode(); if (RomID != 0) hash ^= RomID.GetHashCode();
if (State != 0) hash ^= State.GetHashCode(); if (State != 0) hash ^= State.GetHashCode();
if (PlatformType != global::AxibugProtobuf.PlatformType.All) hash ^= PlatformType.GetHashCode();
if (_unknownFields != null) { if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode(); hash ^= _unknownFields.GetHashCode();
} }
@ -9123,10 +9108,6 @@ namespace AxibugProtobuf {
output.WriteRawTag(16); output.WriteRawTag(16);
output.WriteInt32(State); output.WriteInt32(State);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
output.WriteRawTag(24);
output.WriteEnum((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
_unknownFields.WriteTo(output); _unknownFields.WriteTo(output);
} }
@ -9144,10 +9125,6 @@ namespace AxibugProtobuf {
output.WriteRawTag(16); output.WriteRawTag(16);
output.WriteInt32(State); output.WriteInt32(State);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
output.WriteRawTag(24);
output.WriteEnum((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
_unknownFields.WriteTo(ref output); _unknownFields.WriteTo(ref output);
} }
@ -9163,9 +9140,6 @@ namespace AxibugProtobuf {
if (State != 0) { if (State != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(State); size += 1 + pb::CodedOutputStream.ComputeInt32Size(State);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
size += _unknownFields.CalculateSize(); size += _unknownFields.CalculateSize();
} }
@ -9183,9 +9157,6 @@ namespace AxibugProtobuf {
if (other.State != 0) { if (other.State != 0) {
State = other.State; State = other.State;
} }
if (other.PlatformType != global::AxibugProtobuf.PlatformType.All) {
PlatformType = other.PlatformType;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
} }
@ -9208,10 +9179,6 @@ namespace AxibugProtobuf {
State = input.ReadInt32(); State = input.ReadInt32();
break; break;
} }
case 24: {
PlatformType = (global::AxibugProtobuf.PlatformType) input.ReadEnum();
break;
}
} }
} }
#endif #endif
@ -9234,10 +9201,6 @@ namespace AxibugProtobuf {
State = input.ReadInt32(); State = input.ReadInt32();
break; break;
} }
case 24: {
PlatformType = (global::AxibugProtobuf.PlatformType) input.ReadEnum();
break;
}
} }
} }
} }
@ -9275,7 +9238,6 @@ namespace AxibugProtobuf {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public Protobuf_Game_Mark_RESP(Protobuf_Game_Mark_RESP other) : this() { public Protobuf_Game_Mark_RESP(Protobuf_Game_Mark_RESP other) : this() {
romID_ = other.romID_; romID_ = other.romID_;
platformType_ = other.platformType_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
} }
@ -9298,20 +9260,6 @@ namespace AxibugProtobuf {
} }
} }
/// <summary>Field number for the "PlatformType" field.</summary>
public const int PlatformTypeFieldNumber = 2;
private global::AxibugProtobuf.PlatformType platformType_ = global::AxibugProtobuf.PlatformType.All;
/// <summary>
///平台类型
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::AxibugProtobuf.PlatformType PlatformType {
get { return platformType_; }
set {
platformType_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) { public override bool Equals(object other) {
return Equals(other as Protobuf_Game_Mark_RESP); return Equals(other as Protobuf_Game_Mark_RESP);
@ -9326,7 +9274,6 @@ namespace AxibugProtobuf {
return true; return true;
} }
if (RomID != other.RomID) return false; if (RomID != other.RomID) return false;
if (PlatformType != other.PlatformType) return false;
return Equals(_unknownFields, other._unknownFields); return Equals(_unknownFields, other._unknownFields);
} }
@ -9334,7 +9281,6 @@ namespace AxibugProtobuf {
public override int GetHashCode() { public override int GetHashCode() {
int hash = 1; int hash = 1;
if (RomID != 0) hash ^= RomID.GetHashCode(); if (RomID != 0) hash ^= RomID.GetHashCode();
if (PlatformType != global::AxibugProtobuf.PlatformType.All) hash ^= PlatformType.GetHashCode();
if (_unknownFields != null) { if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode(); hash ^= _unknownFields.GetHashCode();
} }
@ -9355,10 +9301,6 @@ namespace AxibugProtobuf {
output.WriteRawTag(8); output.WriteRawTag(8);
output.WriteInt32(RomID); output.WriteInt32(RomID);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
output.WriteRawTag(16);
output.WriteEnum((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
_unknownFields.WriteTo(output); _unknownFields.WriteTo(output);
} }
@ -9372,10 +9314,6 @@ namespace AxibugProtobuf {
output.WriteRawTag(8); output.WriteRawTag(8);
output.WriteInt32(RomID); output.WriteInt32(RomID);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
output.WriteRawTag(16);
output.WriteEnum((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
_unknownFields.WriteTo(ref output); _unknownFields.WriteTo(ref output);
} }
@ -9388,9 +9326,6 @@ namespace AxibugProtobuf {
if (RomID != 0) { if (RomID != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID); size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
size += _unknownFields.CalculateSize(); size += _unknownFields.CalculateSize();
} }
@ -9405,9 +9340,6 @@ namespace AxibugProtobuf {
if (other.RomID != 0) { if (other.RomID != 0) {
RomID = other.RomID; RomID = other.RomID;
} }
if (other.PlatformType != global::AxibugProtobuf.PlatformType.All) {
PlatformType = other.PlatformType;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
} }
@ -9426,10 +9358,6 @@ namespace AxibugProtobuf {
RomID = input.ReadInt32(); RomID = input.ReadInt32();
break; break;
} }
case 16: {
PlatformType = (global::AxibugProtobuf.PlatformType) input.ReadEnum();
break;
}
} }
} }
#endif #endif
@ -9448,10 +9376,6 @@ namespace AxibugProtobuf {
RomID = input.ReadInt32(); RomID = input.ReadInt32();
break; break;
} }
case 16: {
PlatformType = (global::AxibugProtobuf.PlatformType) input.ReadEnum();
break;
}
} }
} }
} }

View File

@ -29,16 +29,20 @@ namespace AxibugEmuOnline.Web.Controllers
} }
[HttpGet] [HttpGet]
public JsonResult NesRomList(string SearchKey, int Ptype, int GType, int Page, int PageSize) public JsonResult RomList(string SearchKey, int Ptype, int GType, int Page, int PageSize)
{ {
string searchPattern = $"%{SearchKey}%"; string searchPattern = $"%{SearchKey}%";
Resp_GameList resp = new Resp_GameList(); Resp_GameList resp = new Resp_GameList();
resp.gameList = new List<Resp_RomInfo>(); resp.gameList = new List<Resp_RomInfo>();
MySqlConnection conn = Haoyue_SQLPoolManager.DequeueSQLConn("NesRomList"); MySqlConnection conn = Haoyue_SQLPoolManager.DequeueSQLConn("RomList");
{ {
string platformCond = "";
if (GType > 0)
{
platformCond = $" and PlatformType = '{Ptype}' ";
}
GameType SearchGType = (GameType)GType; GameType SearchGType = (GameType)GType;
string GameTypeCond = ""; string GameTypeCond = "";
switch (SearchGType) switch (SearchGType)
{ {
@ -53,7 +57,7 @@ namespace AxibugEmuOnline.Web.Controllers
break; break;
} }
string query = "SELECT count(id) FROM romlist_nes where `Name` like ?searchPattern " + GameTypeCond; string query = "SELECT count(id) FROM romlist where `Name` like ?searchPattern " + platformCond + GameTypeCond;
using (var command = new MySqlCommand(query, conn)) using (var command = new MySqlCommand(query, conn))
{ {
// 设置参数值 // 设置参数值
@ -73,7 +77,7 @@ namespace AxibugEmuOnline.Web.Controllers
string HotOrderBy = "ORDER BY playcount DESC, id ASC"; string HotOrderBy = "ORDER BY playcount DESC, id ASC";
query = $"SELECT id,`Name`,GameType,Note,RomUrl,ImgUrl,`Hash`,`playcount`,`stars` FROM romlist_nes where `Name` like ?searchPattern {GameTypeCond} {HotOrderBy} LIMIT ?offset, ?pageSize;"; query = $"SELECT id,`Name`,GameType,Note,RomUrl,ImgUrl,`Hash`,`playcount`,`stars`,`PlatformType` FROM romlist where `Name` like ?searchPattern {platformCond} {GameTypeCond} {HotOrderBy} LIMIT ?offset, ?pageSize;";
using (var command = new MySqlCommand(query, conn)) using (var command = new MySqlCommand(query, conn))
{ {
// 设置参数值 // 设置参数值
@ -98,6 +102,7 @@ namespace AxibugEmuOnline.Web.Controllers
hash = !reader.IsDBNull(6) ? reader.GetString(6) : string.Empty, hash = !reader.IsDBNull(6) ? reader.GetString(6) : string.Empty,
playcount = reader.GetInt32(7), playcount = reader.GetInt32(7),
stars = reader.GetInt32(8), stars = reader.GetInt32(8),
ptype = reader.GetInt32(9),
}); });
} }
} }
@ -114,7 +119,7 @@ namespace AxibugEmuOnline.Web.Controllers
Resp_RomInfo resp = new Resp_RomInfo(); Resp_RomInfo resp = new Resp_RomInfo();
MySqlConnection conn = Haoyue_SQLPoolManager.DequeueSQLConn("NesRomList"); MySqlConnection conn = Haoyue_SQLPoolManager.DequeueSQLConn("NesRomList");
{ {
string query = $"SELECT id,`Name`,GameType,Note,RomUrl,ImgUrl,`Hash`,`playcount`,`stars` FROM romlist_nes where id = ?romid;"; string query = $"SELECT id,`Name`,GameType,Note,RomUrl,ImgUrl,`Hash`,`playcount`,`stars`,`PlatformType` FROM romlist where id = ?romid;";
using (var command = new MySqlCommand(query, conn)) using (var command = new MySqlCommand(query, conn))
{ {
// 设置参数值 // 设置参数值
@ -133,6 +138,7 @@ namespace AxibugEmuOnline.Web.Controllers
resp.hash = !reader.IsDBNull(6) ? reader.GetString(6) : string.Empty; resp.hash = !reader.IsDBNull(6) ? reader.GetString(6) : string.Empty;
resp.playcount = reader.GetInt32(7); resp.playcount = reader.GetInt32(7);
resp.stars = reader.GetInt32(8); resp.stars = reader.GetInt32(8);
resp.ptype = reader.GetInt32(9);
} }
} }
} }
@ -141,11 +147,6 @@ namespace AxibugEmuOnline.Web.Controllers
return new JsonResult(resp); return new JsonResult(resp);
} }
enum PlatformType : byte
{
All = 0,
Nes,
}
enum GameType : byte enum GameType : byte
{ {
@ -191,6 +192,7 @@ namespace AxibugEmuOnline.Web.Controllers
{ {
public int orderid { get; set; } public int orderid { get; set; }
public int id { get; set; } public int id { get; set; }
public int ptype { get; set; }
public string romName { get; set; } public string romName { get; set; }
public string gType { get; set; } public string gType { get; set; }
public string desc { get; set; } public string desc { get; set; }

View File

@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<_PublishTargetUrl>G:\Sin365\AxibugEmuOnline\AxibugEmuOnline.Web\bin\Release\net8.0\publish\</_PublishTargetUrl> <_PublishTargetUrl>G:\Sin365\AxibugEmuOnline\AxibugEmuOnline.Web\bin\Release\net8.0\publish\</_PublishTargetUrl>
<History>True|2024-09-12T06:18:38.6992653Z||;True|2024-09-12T14:08:58.4526827+08:00||;True|2024-08-22T14:13:06.3067002+08:00||;True|2024-08-14T10:33:10.9180984+08:00||;True|2024-08-13T18:28:27.5050523+08:00||;True|2024-08-13T18:25:47.6591234+08:00||;True|2024-08-13T18:25:17.5344107+08:00||;True|2024-08-13T17:46:23.4523329+08:00||;</History> <History>True|2025-01-07T02:37:18.6461694Z||;True|2024-09-12T14:18:38.6992653+08:00||;True|2024-09-12T14:08:58.4526827+08:00||;True|2024-08-22T14:13:06.3067002+08:00||;True|2024-08-14T10:33:10.9180984+08:00||;True|2024-08-13T18:28:27.5050523+08:00||;True|2024-08-13T18:25:47.6591234+08:00||;True|2024-08-13T18:25:17.5344107+08:00||;True|2024-08-13T17:46:23.4523329+08:00||;</History>
<LastFailureDetails /> <LastFailureDetails />
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@ -99,53 +99,52 @@ namespace AxibugProtobuf {
"ZFRpbWVVcxgDIAEoAhIgChhBdWRpb0ZyYW1lUGxheU5lZWRUaW1lVXMYBCAB", "ZFRpbWVVcxgDIAEoAhIgChhBdWRpb0ZyYW1lUGxheU5lZWRUaW1lVXMYBCAB",
"KAIiKgoYUHJvdG9idWZfUm9vbV9HZXRfU2NyZWVuEg4KBlJvb21JRBgBIAEo", "KAIiKgoYUHJvdG9idWZfUm9vbV9HZXRfU2NyZWVuEg4KBlJvb21JRBgBIAEo",
"BSJTCh1Qcm90b2J1Zl9Sb29tX0dldF9TY3JlZW5fUkVTUBIOCgZSb29tSUQY", "BSJTCh1Qcm90b2J1Zl9Sb29tX0dldF9TY3JlZW5fUkVTUBIOCgZSb29tSUQY",
"ASABKAUSDwoHRnJhbWVJRBgCIAEoBRIRCglSYXdCaXRtYXAYAyABKAwiZgoS", "ASABKAUSDwoHRnJhbWVJRBgCIAEoBRIRCglSYXdCaXRtYXAYAyABKAwiMgoS",
"UHJvdG9idWZfR2FtZV9NYXJrEg0KBVJvbUlEGAEgASgFEg0KBXN0YXRlGAIg", "UHJvdG9idWZfR2FtZV9NYXJrEg0KBVJvbUlEGAEgASgFEg0KBXN0YXRlGAIg",
"ASgFEjIKDFBsYXRmb3JtVHlwZRgDIAEoDjIcLkF4aWJ1Z1Byb3RvYnVmLlBs", "ASgFIigKF1Byb3RvYnVmX0dhbWVfTWFya19SRVNQEg0KBVJvbUlEGAEgASgF",
"YXRmb3JtVHlwZSJcChdQcm90b2J1Zl9HYW1lX01hcmtfUkVTUBINCgVSb21J", "KqEFCglDb21tYW5kSUQSDgoKQ01EX0RFRkFVTBAAEgwKCENNRF9QSU5HEAES",
"RBgBIAEoBRIyCgxQbGF0Zm9ybVR5cGUYAiABKA4yHC5BeGlidWdQcm90b2J1", "DAoIQ01EX1BPTkcQAhIOCglDTURfTE9HSU4Q0Q8SGAoTQ01EX1VTRVJfT05M",
"Zi5QbGF0Zm9ybVR5cGUqoQUKCUNvbW1hbmRJRBIOCgpDTURfREVGQVVMEAAS", "SU5FTElTVBC4FxISCg1DTURfVVNFUl9KT0lOENcXEhMKDkNNRF9VU0VSX0xF",
"DAoIQ01EX1BJTkcQARIMCghDTURfUE9ORxACEg4KCUNNRF9MT0dJThDRDxIY", "QVZFENgXEhoKFUNNRF9VU0VSX1NUQVRFX1VQREFURRDZFxIYChNDTURfTW9k",
"ChNDTURfVVNFUl9PTkxJTkVMSVNUELgXEhIKDUNNRF9VU0VSX0pPSU4Q1xcS", "aWZ5X05pY2tOYW1lEJ0YEhwKF0NNRF9VcGRhdGVfU2VsZlVzZXJJbmZvEKYY",
"EwoOQ01EX1VTRVJfTEVBVkUQ2BcSGgoVQ01EX1VTRVJfU1RBVEVfVVBEQVRF", "Eh0KGENNRF9VcGRhdGVfT3RoZXJVc2VySW5mbxCoGBIQCgtDTURfQ0hBVE1T",
"ENkXEhgKE0NNRF9Nb2RpZnlfTmlja05hbWUQnRgSHAoXQ01EX1VwZGF0ZV9T", "RxChHxISCg1DTURfUm9vbV9MaXN0EIknEhkKFENNRF9Sb29tX0xpc3RfVXBk",
"ZWxmVXNlckluZm8QphgSHQoYQ01EX1VwZGF0ZV9PdGhlclVzZXJJbmZvEKgY", "YXRlEIonEhgKE0NNRF9Sb29tX0dldF9TY3JlZW4QkycSFAoPQ01EX1Jvb21f",
"EhAKC0NNRF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01E", "Q3JlYXRlEO0nEhIKDUNNRF9Sb29tX0pvaW4Q8ScSEwoOQ01EX1Jvb21fTGVh",
"X1Jvb21fTGlzdF9VcGRhdGUQiicSGAoTQ01EX1Jvb21fR2V0X1NjcmVlbhCT", "dmUQ8icSIgodQ01EX1Jvb21fTXlSb29tX1N0YXRlX0NoYW5nZWQQ9icSIQoc",
"JxIUCg9DTURfUm9vbV9DcmVhdGUQ7ScSEgoNQ01EX1Jvb21fSm9pbhDxJxIT", "Q01EX1Jvb21fQ2hhbmdlUGxheWVyV2l0aEpveRCKKBIWChFDTURfUm9vbV9X",
"Cg5DTURfUm9vbV9MZWF2ZRDyJxIiCh1DTURfUm9vbV9NeVJvb21fU3RhdGVf", "YWl0U3RlcBDRKBInCiJDTURfUm9vbV9Ib3N0UGxheWVyX1VwZGF0ZVN0YXRl",
"Q2hhbmdlZBD2JxIhChxDTURfUm9vbV9DaGFuZ2VQbGF5ZXJXaXRoSm95EIoo", "UmF3ENQoEhoKFUNNRF9Sb29tX1BsYXllcl9SZWFkeRDYKBIgChtDTURfUm9v",
"EhYKEUNNRF9Sb29tX1dhaXRTdGVwENEoEicKIkNNRF9Sb29tX0hvc3RQbGF5", "bV9TaW5nZWxfUGxheWVySW5wdXQQ+i4SHQoYQ01EX1JPT01fU1lOX1BsYXll",
"ZXJfVXBkYXRlU3RhdGVSYXcQ1CgSGgoVQ01EX1Jvb21fUGxheWVyX1JlYWR5", "cklucHV0EP8uEg8KCkNNRF9TY3JlZW4Q2TYSEgoNQ01EX0dBTUVfTUFSSxD1",
"ENgoEiAKG0NNRF9Sb29tX1NpbmdlbF9QbGF5ZXJJbnB1dBD6LhIdChhDTURf", "TirQAQoJRXJyb3JDb2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09L",
"Uk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01EX1NjcmVlbhDZNhISCg1D", "EAESGAoURVJST1JfUk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NM",
"TURfR0FNRV9NQVJLEPVOKtABCglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVM", "T1RfQUxSRUFETFlfSEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9E",
"EAASDAoIRVJST1JfT0sQARIYChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicK", "T19DVVJSX1NUQVRFEDISHwoaRVJST1JfUk9NX0FMUkVBRFlfSEFEX1NUQVIQ",
"I0VSUk9SX1JPT01fU0xPVF9BTFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJS", "kwMSHAoXRVJST1JfUk9NX0RPTlRfSEFEX1NUQVIQlAMqQAoJTG9naW5UeXBl",
"T1JfUk9PTV9DQU5UX0RPX0NVUlJfU1RBVEUQMhIfChpFUlJPUl9ST01fQUxS", "Eg0KCVVzZURldmljZRAAEg4KClVzZUFjY291bnQQARIUChBVc2VIYW9ZdWVB",
"RUFEWV9IQURfU1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCU", "Y2NvdW50EAIqpQEKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0",
"AypACglMb2dpblR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBAB", "EAASBgoCUEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQSBwoD",
"EhQKEFVzZUhhb1l1ZUFjY291bnQQAiqlAQoKRGV2aWNlVHlwZRIWChJEZXZp", "UFMzEAUSBwoDUFM0EAYSCwoHWEJPWDM2MBAHEgsKB1hCT1hPTkUQCBIICgRX",
"Y2VUeXBlX0RlZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQ", "aWlVEAkSDwoLTmludGVuZG8zRFMQChIRCg1BbmRyb2lkQ2FyQXBwEAsqkwIK",
"AxIHCgNQU1YQBBIHCgNQUzMQBRIHCgNQUzQQBhILCgdYQk9YMzYwEAcSCwoH", "C0dhbWVQYWRUeXBlEgwKCEtleWJvYXJkEAASEQoNR2xvYmFsR2FtZVBhZBAB",
"WEJPWE9ORRAIEggKBFdpaVUQCRIPCgtOaW50ZW5kbzNEUxAKEhEKDUFuZHJv", "Eg4KClRvdWNoUGFuZWwQAhIOCgpEUzNDb250cm9sEAMSDgoKRFM0Q29udHJv",
"aWRDYXJBcHAQCyqTAgoLR2FtZVBhZFR5cGUSDAoIS2V5Ym9hcmQQABIRCg1H", "bBAEEg4KCkRTNUNvbnRyb2wQBRIUChBTd2l0Y2hQcm9Db250cm9sEAYSEAoM",
"bG9iYWxHYW1lUGFkEAESDgoKVG91Y2hQYW5lbBACEg4KCkRTM0NvbnRyb2wQ", "U3dpdGNoSm95Q29uEAcSEgoOWEJPWDM2MENvbnRyb2wQCBISCg5YQk9YT05F",
"AxIOCgpEUzRDb250cm9sEAQSDgoKRFM1Q29udHJvbBAFEhQKEFN3aXRjaFBy", "Q29udHJvbBAJEhEKDVBTVml0YUNvbnRyb2wQChISCg5XaWlVUGFkQ29udHJv",
"b0NvbnRyb2wQBhIQCgxTd2l0Y2hKb3lDb24QBxISCg5YQk9YMzYwQ29udHJv", "bBALEhQKEFdpaVJlbW90ZUNvbnRyb2wQDBIWChJOaW50ZW5kbzNEU0NvbnRy",
"bBAIEhIKDlhCT1hPTkVDb250cm9sEAkSEQoNUFNWaXRhQ29udHJvbBAKEhIK", "b2wQDSqUAQoPUm9tUGxhdGZvcm1UeXBlEgcKA0FsbBAAEgcKA05lcxABEhEK",
"DldpaVVQYWRDb250cm9sEAsSFAoQV2lpUmVtb3RlQ29udHJvbBAMEhYKEk5p", "DU1hc3Rlcl9TeXN0ZW0QAhINCglHYW1lX0dlYXIQAxIMCghHYW1lX0JveRAE",
"bnRlbmRvM0RTQ29udHJvbBANKmQKDFBsYXRmb3JtVHlwZRIHCgNBbGwQABIH", "EhIKDkdhbWVfQm95X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lvbhAGEgsKB1ND",
"CgNOZXMQARIRCg1NYXN0ZXJfU3lzdGVtEAISDQoJR2FtZV9HZWFyEAMSDAoI", "XzMwMDAQBxILCgdTR18xMDAwEAgqcAoNUm9vbUdhbWVTdGF0ZRISCg5Ob25l",
"R2FtZV9Cb3kQBBISCg5HYW1lX0JveV9Db2xvchAFKnAKDVJvb21HYW1lU3Rh", "X0dhbWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAESEQoNV2FpdFJhd1VwZGF0ZRAC",
"dGUSEgoOTm9uZV9HYW1lU3RhdGUQABIMCghPbmx5SG9zdBABEhEKDVdhaXRS", "Eg0KCVdhaXRSZWFkeRADEgkKBVBhdXNlEAQSEAoMSW5PbmxpbmVHYW1lEAUq",
"YXdVcGRhdGUQAhINCglXYWl0UmVhZHkQAxIJCgVQYXVzZRAEEhAKDEluT25s", "TgoRTG9naW5SZXN1bHRTdGF0dXMSIQodTG9naW5SZXN1bHRTdGF0dXNfQmFz",
"aW5lR2FtZRAFKk4KEUxvZ2luUmVzdWx0U3RhdHVzEiEKHUxvZ2luUmVzdWx0", "ZURlZmF1bHQQABIGCgJPSxABEg4KCkFjY291bnRFcnIQAkICSAFiBnByb3Rv",
"U3RhdHVzX0Jhc2VEZWZhdWx0EAASBgoCT0sQARIOCgpBY2NvdW50RXJyEAJC", "Mw=="));
"AkgBYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { }, new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.PlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(new[] {typeof(global::AxibugProtobuf.CommandID), typeof(global::AxibugProtobuf.ErrorCode), typeof(global::AxibugProtobuf.LoginType), typeof(global::AxibugProtobuf.DeviceType), typeof(global::AxibugProtobuf.GamePadType), typeof(global::AxibugProtobuf.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg), global::AxibugProtobuf.Protobuf_ChatMsg.Parser, new[]{ "ChatMsg" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg), global::AxibugProtobuf.Protobuf_ChatMsg.Parser, new[]{ "ChatMsg" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg_RESP), global::AxibugProtobuf.Protobuf_ChatMsg_RESP.Parser, new[]{ "NickName", "ChatMsg", "Date" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_ChatMsg_RESP), global::AxibugProtobuf.Protobuf_ChatMsg_RESP.Parser, new[]{ "NickName", "ChatMsg", "Date" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Ping), global::AxibugProtobuf.Protobuf_Ping.Parser, new[]{ "Seed" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Ping), global::AxibugProtobuf.Protobuf_Ping.Parser, new[]{ "Seed" }, null, null, null, null),
@ -186,8 +185,8 @@ namespace AxibugProtobuf {
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, new[]{ "PushFrameNeedTimeUs", "LoadStateNeedTimeUs", "VideoFrameShowNeedTimeUs", "AudioFramePlayNeedTimeUs" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, new[]{ "PushFrameNeedTimeUs", "LoadStateNeedTimeUs", "VideoFrameShowNeedTimeUs", "AudioFramePlayNeedTimeUs" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen), global::AxibugProtobuf.Protobuf_Room_Get_Screen.Parser, new[]{ "RoomID" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen), global::AxibugProtobuf.Protobuf_Room_Get_Screen.Parser, new[]{ "RoomID" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP), global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP), global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark), global::AxibugProtobuf.Protobuf_Game_Mark.Parser, new[]{ "RomID", "State", "PlatformType" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark), global::AxibugProtobuf.Protobuf_Game_Mark.Parser, new[]{ "RomID", "State" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "PlatformType" }, null, null, null, null) new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID" }, null, null, null, null)
})); }));
} }
#endregion #endregion
@ -371,7 +370,7 @@ namespace AxibugProtobuf {
public enum DeviceType { public enum DeviceType {
/// <summary> /// <summary>
///缺省不使 ///
/// </summary> /// </summary>
[pbr::OriginalName("DeviceType_Default")] Default = 0, [pbr::OriginalName("DeviceType_Default")] Default = 0,
[pbr::OriginalName("PC")] Pc = 1, [pbr::OriginalName("PC")] Pc = 1,
@ -416,13 +415,16 @@ namespace AxibugProtobuf {
[pbr::OriginalName("Nintendo3DSControl")] Nintendo3Dscontrol = 13, [pbr::OriginalName("Nintendo3DSControl")] Nintendo3Dscontrol = 13,
} }
public enum PlatformType { public enum RomPlatformType {
[pbr::OriginalName("All")] All = 0, [pbr::OriginalName("All")] All = 0,
[pbr::OriginalName("Nes")] Nes = 1, [pbr::OriginalName("Nes")] Nes = 1,
[pbr::OriginalName("Master_System")] MasterSystem = 2, [pbr::OriginalName("Master_System")] MasterSystem = 2,
[pbr::OriginalName("Game_Gear")] GameGear = 3, [pbr::OriginalName("Game_Gear")] GameGear = 3,
[pbr::OriginalName("Game_Boy")] GameBoy = 4, [pbr::OriginalName("Game_Boy")] GameBoy = 4,
[pbr::OriginalName("Game_Boy_Color")] GameBoyColor = 5, [pbr::OriginalName("Game_Boy_Color")] GameBoyColor = 5,
[pbr::OriginalName("Coleco_Vision")] ColecoVision = 6,
[pbr::OriginalName("SC_3000")] Sc3000 = 7,
[pbr::OriginalName("SG_1000")] Sg1000 = 8,
} }
public enum RoomGameState { public enum RoomGameState {
@ -9023,7 +9025,6 @@ namespace AxibugProtobuf {
public Protobuf_Game_Mark(Protobuf_Game_Mark other) : this() { public Protobuf_Game_Mark(Protobuf_Game_Mark other) : this() {
romID_ = other.romID_; romID_ = other.romID_;
state_ = other.state_; state_ = other.state_;
platformType_ = other.platformType_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
} }
@ -9060,20 +9061,6 @@ namespace AxibugProtobuf {
} }
} }
/// <summary>Field number for the "PlatformType" field.</summary>
public const int PlatformTypeFieldNumber = 3;
private global::AxibugProtobuf.PlatformType platformType_ = global::AxibugProtobuf.PlatformType.All;
/// <summary>
///平台类型
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::AxibugProtobuf.PlatformType PlatformType {
get { return platformType_; }
set {
platformType_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) { public override bool Equals(object other) {
return Equals(other as Protobuf_Game_Mark); return Equals(other as Protobuf_Game_Mark);
@ -9089,7 +9076,6 @@ namespace AxibugProtobuf {
} }
if (RomID != other.RomID) return false; if (RomID != other.RomID) return false;
if (State != other.State) return false; if (State != other.State) return false;
if (PlatformType != other.PlatformType) return false;
return Equals(_unknownFields, other._unknownFields); return Equals(_unknownFields, other._unknownFields);
} }
@ -9098,7 +9084,6 @@ namespace AxibugProtobuf {
int hash = 1; int hash = 1;
if (RomID != 0) hash ^= RomID.GetHashCode(); if (RomID != 0) hash ^= RomID.GetHashCode();
if (State != 0) hash ^= State.GetHashCode(); if (State != 0) hash ^= State.GetHashCode();
if (PlatformType != global::AxibugProtobuf.PlatformType.All) hash ^= PlatformType.GetHashCode();
if (_unknownFields != null) { if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode(); hash ^= _unknownFields.GetHashCode();
} }
@ -9123,10 +9108,6 @@ namespace AxibugProtobuf {
output.WriteRawTag(16); output.WriteRawTag(16);
output.WriteInt32(State); output.WriteInt32(State);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
output.WriteRawTag(24);
output.WriteEnum((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
_unknownFields.WriteTo(output); _unknownFields.WriteTo(output);
} }
@ -9144,10 +9125,6 @@ namespace AxibugProtobuf {
output.WriteRawTag(16); output.WriteRawTag(16);
output.WriteInt32(State); output.WriteInt32(State);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
output.WriteRawTag(24);
output.WriteEnum((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
_unknownFields.WriteTo(ref output); _unknownFields.WriteTo(ref output);
} }
@ -9163,9 +9140,6 @@ namespace AxibugProtobuf {
if (State != 0) { if (State != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(State); size += 1 + pb::CodedOutputStream.ComputeInt32Size(State);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
size += _unknownFields.CalculateSize(); size += _unknownFields.CalculateSize();
} }
@ -9183,9 +9157,6 @@ namespace AxibugProtobuf {
if (other.State != 0) { if (other.State != 0) {
State = other.State; State = other.State;
} }
if (other.PlatformType != global::AxibugProtobuf.PlatformType.All) {
PlatformType = other.PlatformType;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
} }
@ -9208,10 +9179,6 @@ namespace AxibugProtobuf {
State = input.ReadInt32(); State = input.ReadInt32();
break; break;
} }
case 24: {
PlatformType = (global::AxibugProtobuf.PlatformType) input.ReadEnum();
break;
}
} }
} }
#endif #endif
@ -9234,10 +9201,6 @@ namespace AxibugProtobuf {
State = input.ReadInt32(); State = input.ReadInt32();
break; break;
} }
case 24: {
PlatformType = (global::AxibugProtobuf.PlatformType) input.ReadEnum();
break;
}
} }
} }
} }
@ -9275,7 +9238,6 @@ namespace AxibugProtobuf {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public Protobuf_Game_Mark_RESP(Protobuf_Game_Mark_RESP other) : this() { public Protobuf_Game_Mark_RESP(Protobuf_Game_Mark_RESP other) : this() {
romID_ = other.romID_; romID_ = other.romID_;
platformType_ = other.platformType_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
} }
@ -9298,20 +9260,6 @@ namespace AxibugProtobuf {
} }
} }
/// <summary>Field number for the "PlatformType" field.</summary>
public const int PlatformTypeFieldNumber = 2;
private global::AxibugProtobuf.PlatformType platformType_ = global::AxibugProtobuf.PlatformType.All;
/// <summary>
///平台类型
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global::AxibugProtobuf.PlatformType PlatformType {
get { return platformType_; }
set {
platformType_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals(object other) { public override bool Equals(object other) {
return Equals(other as Protobuf_Game_Mark_RESP); return Equals(other as Protobuf_Game_Mark_RESP);
@ -9326,7 +9274,6 @@ namespace AxibugProtobuf {
return true; return true;
} }
if (RomID != other.RomID) return false; if (RomID != other.RomID) return false;
if (PlatformType != other.PlatformType) return false;
return Equals(_unknownFields, other._unknownFields); return Equals(_unknownFields, other._unknownFields);
} }
@ -9334,7 +9281,6 @@ namespace AxibugProtobuf {
public override int GetHashCode() { public override int GetHashCode() {
int hash = 1; int hash = 1;
if (RomID != 0) hash ^= RomID.GetHashCode(); if (RomID != 0) hash ^= RomID.GetHashCode();
if (PlatformType != global::AxibugProtobuf.PlatformType.All) hash ^= PlatformType.GetHashCode();
if (_unknownFields != null) { if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode(); hash ^= _unknownFields.GetHashCode();
} }
@ -9355,10 +9301,6 @@ namespace AxibugProtobuf {
output.WriteRawTag(8); output.WriteRawTag(8);
output.WriteInt32(RomID); output.WriteInt32(RomID);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
output.WriteRawTag(16);
output.WriteEnum((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
_unknownFields.WriteTo(output); _unknownFields.WriteTo(output);
} }
@ -9372,10 +9314,6 @@ namespace AxibugProtobuf {
output.WriteRawTag(8); output.WriteRawTag(8);
output.WriteInt32(RomID); output.WriteInt32(RomID);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
output.WriteRawTag(16);
output.WriteEnum((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
_unknownFields.WriteTo(ref output); _unknownFields.WriteTo(ref output);
} }
@ -9388,9 +9326,6 @@ namespace AxibugProtobuf {
if (RomID != 0) { if (RomID != 0) {
size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID); size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID);
} }
if (PlatformType != global::AxibugProtobuf.PlatformType.All) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) PlatformType);
}
if (_unknownFields != null) { if (_unknownFields != null) {
size += _unknownFields.CalculateSize(); size += _unknownFields.CalculateSize();
} }
@ -9405,9 +9340,6 @@ namespace AxibugProtobuf {
if (other.RomID != 0) { if (other.RomID != 0) {
RomID = other.RomID; RomID = other.RomID;
} }
if (other.PlatformType != global::AxibugProtobuf.PlatformType.All) {
PlatformType = other.PlatformType;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
} }
@ -9426,10 +9358,6 @@ namespace AxibugProtobuf {
RomID = input.ReadInt32(); RomID = input.ReadInt32();
break; break;
} }
case 16: {
PlatformType = (global::AxibugProtobuf.PlatformType) input.ReadEnum();
break;
}
} }
} }
#endif #endif
@ -9448,10 +9376,6 @@ namespace AxibugProtobuf {
RomID = input.ReadInt32(); RomID = input.ReadInt32();
break; break;
} }
case 16: {
PlatformType = (global::AxibugProtobuf.PlatformType) input.ReadEnum();
break;
}
} }
} }
} }

View File

@ -92,7 +92,7 @@ enum LoginType
enum DeviceType // enum DeviceType //
{ {
DeviceType_Default = 0;//使 DeviceType_Default = 0;//
PC = 1; PC = 1;
Android = 2; Android = 2;
IOS = 3; IOS = 3;
@ -124,7 +124,7 @@ enum GamePadType //手柄类型
Nintendo3DSControl = 13; Nintendo3DSControl = 13;
} }
enum PlatformType enum RomPlatformType
{ {
All = 0; All = 0;
Nes = 1; Nes = 1;
@ -132,6 +132,9 @@ enum PlatformType
Game_Gear = 3; Game_Gear = 3;
Game_Boy = 4; Game_Boy = 4;
Game_Boy_Color = 5; Game_Boy_Color = 5;
Coleco_Vision = 6;
SC_3000 = 7;
SG_1000 = 8;
} }
//enum RoomPlayerState //enum RoomPlayerState
@ -422,11 +425,9 @@ message Protobuf_Game_Mark
{ {
int32 RomID = 1;//RomID int32 RomID = 1;//RomID
int32 state = 2;//[0] [1] int32 state = 2;//[0] [1]
PlatformType PlatformType = 3;//
} }
message Protobuf_Game_Mark_RESP message Protobuf_Game_Mark_RESP
{ {
int32 RomID = 1;//RomID int32 RomID = 1;//RomID
PlatformType PlatformType = 2;//
} }

View File

@ -7,23 +7,45 @@
``` ```
platform 模拟器所在平台 platform 模拟器所在平台
[0] 通用 enum DeviceType //设备类型
[1] PC {
DeviceType_Default = 0;//通用
PC = 1;
Android = 2;
IOS = 3;
PSV = 4;
PS3 = 5;
PS4 = 6;
XBOX360 = 7;
XBOXONE = 8;
WiiU = 9;
Nintendo3DS = 10;
AndroidCarApp = 11;//汽车Android车机
}
PType Rom所属平台 PType Rom所属平台
enum PlatformType : byte enum RomPlatformType
{ {
All = 0, All = 0;
Nes = 1, Nes = 1;
} Master_System = 2;
Game_Gear = 3;
Game_Boy = 4;
Game_Boy_Color = 5;
Coleco_Vision = 6;
SC_3000 = 7;
SG_1000 = 8;
}
游戏类型
``` ```
### 基本信息检查 ### 基本信息检查
``` ```
{WebHost}/api/NesRomList?platform=<平台编号>&version=<版本> {WebHost}/api/CheckStandInfo?platform=<平台编号>&version=<版本>
``` ```
Request: Request:
@ -59,13 +81,13 @@ class Resp_CheckStandInfo
### Nes游戏列表 ### Nes游戏列表
``` ```
{WebHost}/api/NesRomList?Page=<页码>&PageSize=<单大小>&SearchKey=<可选的模糊查询关键字>&PType=<平台枚举int>&GType=<游戏类型枚举> {WebHost}/api/RomList?Page=<页码>&PageSize=<单大小>&SearchKey=<可选的模糊查询关键字>&PType=<平台枚举int>&GType=<游戏类型枚举>
``` ```
Request: Request:
``` ```
http://emu.axibug.com/api/NesRomList?Page=0&PageSize=5&SearchKey=%热血&PType=1&GType=1 http://emu.axibug.com/api/RomList?Page=0&PageSize=5&SearchKey=%热血&PType=1&GType=1
``` ```
Response: Response:
@ -79,57 +101,67 @@ Response:
{ {
"orderid": 0, "orderid": 0,
"id": 190, "id": 190,
"ptype": 1,
"romName": "热血物语", "romName": "热血物语",
"gType": "ACT", "gType": "ACT",
"desc": "设有拳击及体力槽的热血系列节目。是带有RPG色彩的街头斗殴节目。", "desc": "设有拳击及体力槽的热血系列节目。是带有RPG色彩的街头斗殴节目。",
"url": "roms/fcrom/Downtown%20-%20Nekketsu%20Monogatari%20(J).zip", "url": "roms/fcrom/Downtown%20-%20Nekketsu%20Monogatari%20(J).zip",
"imgUrl": "images/fcrom/Downtown%20-%20Nekketsu%20Monogatari%20(J).JPG", "imgUrl": "images/fcrom/Downtown%20-%20Nekketsu%20Monogatari%20(J).JPG",
"hash": "", "hash": "62e2b8ee88d894d9adea32273c9bbfc3",
"stars": 0 "stars": 0,
"playcount": 72
}, },
{ {
"orderid": 1, "orderid": 1,
"id": 460, "id": 460,
"ptype": 1,
"romName": "热血时代剧(热血道中记)", "romName": "热血时代剧(热血道中记)",
"gType": "ACT", "gType": "ACT",
"desc": "以古代日本为舞台展开的热血系列节目。设有多种必杀技可使用。", "desc": "以古代日本为舞台展开的热血系列节目。设有多种必杀技可使用。",
"url": "roms/fcrom/Kunio%20Kun%20No%20Jidaigekidayo%20Zenin%20Shuugou%20(J).zip", "url": "roms/fcrom/Kunio%20Kun%20No%20Jidaigekidayo%20Zenin%20Shuugou%20(J).zip",
"imgUrl": "images/fcrom/Kunio%20Kun%20No%20Jidaigekidayo%20Zenin%20Shuugou%20(J).JPG", "imgUrl": "images/fcrom/Kunio%20Kun%20No%20Jidaigekidayo%20Zenin%20Shuugou%20(J).JPG",
"hash": "", "hash": "45c4a12530d64e774f0ef7aebe211b81",
"stars": 0 "stars": 0,
"playcount": 0
}, },
{ {
"orderid": 2, "orderid": 2,
"id": 585, "id": 585,
"ptype": 1,
"romName": "热血硬派", "romName": "热血硬派",
"gType": "ACT", "gType": "ACT",
"desc": "有着多种模式的格斗节目。各版面均有不同的趣味性。是热血系列游戏最初的作品。", "desc": "有着多种模式的格斗节目。各版面均有不同的趣味性。是热血系列游戏最初的作品。",
"url": "roms/fcrom/Nekketsu%20Kouha%20-%20Kunio%20Kun%20(J).zip", "url": "roms/fcrom/Nekketsu%20Kouha%20-%20Kunio%20Kun%20(J).zip",
"imgUrl": "images/fcrom/Nekketsu%20Kouha%20-%20Kunio%20Kun%20(J).JPG", "imgUrl": "images/fcrom/Nekketsu%20Kouha%20-%20Kunio%20Kun%20(J).JPG",
"hash": "", "hash": "a731fd23627e0db18c88d1fff4bc8039",
"stars": 0 "stars": 0,
"playcount": 0
}, },
{ {
"orderid": 3, "orderid": 3,
"id": 674, "id": 674,
"ptype": 1,
"romName": "热血物语(美版)", "romName": "热血物语(美版)",
"gType": "ACT", "gType": "ACT",
"desc": "设有拳击及体力槽的热血系列节目。是带有RPG色彩的街头斗殴节目。", "desc": "设有拳击及体力槽的热血系列节目。是带有RPG色彩的街头斗殴节目。",
"url": "roms/fcrom/River%20City%20Brawl%20(J).zip", "url": "roms/fcrom/River%20City%20Brawl%20(J).zip",
"imgUrl": "images/fcrom/River%20City%20Brawl%20(J).JPG", "imgUrl": "images/fcrom/River%20City%20Brawl%20(J).JPG",
"hash": "", "hash": "956381cb137c4cadee36249ad16a79fa",
"stars": 0 "stars": 0,
"playcount": 0
}, },
{ {
"orderid": 4, "orderid": 4,
"id": 826, "id": 826,
"ptype": 1,
"romName": "热血时代剧美版(热血道中记美版)", "romName": "热血时代剧美版(热血道中记美版)",
"gType": "ACT", "gType": "ACT",
"desc": "以古代日本为舞台展开的热血系列节目。设有多种必杀技可使用。", "desc": "以古代日本为舞台展开的热血系列节目。设有多种必杀技可使用。",
"url": "roms/fcrom/Technos%20Samurai%20-%20Downtown%20Special%20(J).zip", "url": "roms/fcrom/Technos%20Samurai%20-%20Downtown%20Special%20(J).zip",
"imgUrl": "images/fcrom/Technos%20Samurai%20-%20Downtown%20Special%20(J).JPG", "imgUrl": "images/fcrom/Technos%20Samurai%20-%20Downtown%20Special%20(J).JPG",
"hash": "", "hash": "b96fb8afda11a73c1693fb6a197347c4",
"stars": 0 "stars": 0,
"playcount": 0
} }
] ]
} }
@ -146,19 +178,20 @@ Response:
public List<Resp_RomInfo> gameList { get; set; } public List<Resp_RomInfo> gameList { get; set; }
} }
public class Resp_RomInfo public class Resp_RomInfo
{ {
public int orderid { get; set; } public int orderid { get; set; }
public int id { get; set; } public int id { get; set; }
public string romName { get; set; } public int ptype { get; set; }
public string gType { get; set; } public string romName { get; set; }
public string desc { get; set; } public string gType { get; set; }
public string url { get; set; } public string desc { get; set; }
public string imgUrl { get; set; } public string url { get; set; }
public string hash { get; set; } public string imgUrl { get; set; }
public int stars { get; set; } public string hash { get; set; }
public int playcount { get; set; } public int stars { get; set; }
} public int playcount { get; set; }
}
``` ```