diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Event/EEvent.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Event/EEvent.cs index 914c9755..35cec6b3 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Event/EEvent.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Event/EEvent.cs @@ -89,8 +89,16 @@ /// OnRomStarStateChanged, /// - /// 网络即时存档列表更新 + /// 网络即时存档拉取成功 /// - OnNetGameSavListUpdate, + OnNetGameSavListGot, + /// + /// 网络即时存档删除 + /// + OnNetGameSavDeleted, + /// + /// 网络即时存档上传成功 + /// + OnNetUploaded, } } diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppGameSavMgr.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppGameSavMgr.cs index 9f628186..217cb15d 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppGameSavMgr.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppGameSavMgr.cs @@ -3,14 +3,12 @@ using AxibugEmuOnline.Client.Common; using AxibugEmuOnline.Client.Event; using AxibugEmuOnline.Client.Network; using AxibugProtobuf; -using System.Collections.Generic; using System.Linq; namespace AxibugEmuOnline.Client.Manager { public class AppGameSavMgr { - Dictionary dictRomId2SavInfo = new Dictionary(); public AppGameSavMgr() { NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdGamesavGetGameSavList, RecvGetGameSavList); @@ -18,20 +16,6 @@ namespace AxibugEmuOnline.Client.Manager NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdGamesavUploadGameSav, RecvUpLoadGameSav); } - /// - /// 从数据层取存档列表数据(一般是OnNetGameSavListUpdate事件来了之后来取数据) - /// - /// - /// - public Protobuf_Mine_GameSavInfo[] GetRomSaveIDList(int RomID) - { - if (!dictRomId2SavInfo.ContainsKey(RomID)) - { - dictRomId2SavInfo[RomID] = null; - } - return dictRomId2SavInfo[RomID]; - } - /// /// 发送请求即时存档列表 /// @@ -49,14 +33,13 @@ namespace AxibugEmuOnline.Client.Manager void RecvGetGameSavList(byte[] reqData) { Protobuf_Mine_GetGameSavList_RESP msg = ProtoBufHelper.DeSerizlize(reqData); - - Protobuf_Mine_GameSavInfo[] savArr = GetRomSaveIDList(msg.RomID); + Protobuf_Mine_GameSavInfo[] savArr = new Protobuf_Mine_GameSavInfo[4]; for (int i = 0; i < savArr.Length; i++) { Protobuf_Mine_GameSavInfo info = msg.SavDataList.FirstOrDefault(w => w.SavDataIdx == i); savArr[i] = info; } - Eventer.Instance.PostEvent(EEvent.OnNetGameSavListUpdate, msg.RomID); + Eventer.Instance.PostEvent(EEvent.OnNetGameSavListGot, msg.RomID, savArr); } /// @@ -64,7 +47,7 @@ namespace AxibugEmuOnline.Client.Manager /// /// /// - public void SendDelGameSavList(int RomID,int SavDataIdx) + public void SendDelGameSavList(int RomID, int SavDataIdx) { Protobuf_Mine_DelGameSav req = new Protobuf_Mine_DelGameSav() { @@ -78,10 +61,7 @@ namespace AxibugEmuOnline.Client.Manager void RecvDelGameSavList(byte[] reqData) { Protobuf_Mine_DelGameSav_RESP msg = ProtoBufHelper.DeSerizlize(reqData); - - Protobuf_Mine_GameSavInfo[] savArr = GetRomSaveIDList(msg.RomID); - savArr[msg.SavDataIdx] = null; - Eventer.Instance.PostEvent(EEvent.OnNetGameSavListUpdate, msg.RomID); + Eventer.Instance.PostEvent(EEvent.OnNetGameSavDeleted, msg.RomID, msg.SavDataIdx); } /// @@ -89,7 +69,7 @@ namespace AxibugEmuOnline.Client.Manager /// /// /// - public void SendUpLoadGameSav(int RomID,int SavDataIdx, byte[] RawData, byte[] SavImgData) + public void SendUpLoadGameSav(int RomID, int SavDataIdx, byte[] RawData, byte[] SavImgData) { //压缩 byte[] compressRawData = Helper.CompressByteArray(RawData); @@ -115,10 +95,7 @@ namespace AxibugEmuOnline.Client.Manager void RecvUpLoadGameSav(byte[] reqData) { Protobuf_Mine_UpLoadGameSav_RESP msg = ProtoBufHelper.DeSerizlize(reqData); - - Protobuf_Mine_GameSavInfo[] savArr = GetRomSaveIDList(msg.RomID); - savArr[msg.UploadSevInfo.SavDataIdx] = msg.UploadSevInfo; - Eventer.Instance.PostEvent(EEvent.OnNetGameSavListUpdate, msg.RomID); + Eventer.Instance.PostEvent(EEvent.OnNetUploaded, msg.RomID,msg.SavDataIdx, msg.UploadSevInfo); } /// diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Protobuf/ProtobufAxibugEmuOnline.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Protobuf/ProtobufAxibugEmuOnline.cs index d12c6a4e..af7ff2fd 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Protobuf/ProtobufAxibugEmuOnline.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Protobuf/ProtobufAxibugEmuOnline.cs @@ -109,62 +109,63 @@ namespace AxibugProtobuf { "bmVfR2V0R2FtZVNhdkxpc3QSDQoFUm9tSUQYASABKAUicgohUHJvdG9idWZf", "TWluZV9HZXRHYW1lU2F2TGlzdF9SRVNQEg0KBVJvbUlEGAEgASgFEj4KC1Nh", "dkRhdGFMaXN0GAIgAygLMikuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfTWlu", - "ZV9HYW1lU2F2SW5mbyLiAQoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU", - "CgxiSGFkU2F2ZURhdGEYASABKAgSEgoKU2F2RGF0YUlkeBgCIAEoBRINCgVS", - "b21JRBgDIAEoBRI5ChBHYW1lUGxhdGZvcm1UeXBlGAQgASgOMh8uQXhpYnVn", - "UHJvdG9idWYuUm9tUGxhdGZvcm1UeXBlEg8KB1NhdkRhdGUYBSABKAkSDwoH", - "U2F2TmFtZRgGIAEoCRIMCgROb3RlGAcgASgJEhEKCVNhdkltZ1VybBgIIAEo", - "CRIOCgZTYXZVcmwYCSABKAkiPQoYUHJvdG9idWZfTWluZV9EZWxHYW1lU2F2", - "Eg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJZHgYAiABKAUiQgodUHJvdG9i", - "dWZfTWluZV9EZWxHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSEgoKU2F2", - "RGF0YUlkeBgCIAEoBSJiChtQcm90b2J1Zl9NaW5lX1VwTG9hZEdhbWVTYXYS", - "DQoFUm9tSUQYASABKAUSEgoKU2F2RGF0YUlkeBgCIAEoBRIOCgZTYXZJbWcY", - "AyABKAwSEAoIU3RhdGVSYXcYBCABKAwicwogUHJvdG9idWZfTWluZV9VcExv", - "YWRHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSQAoNVXBsb2FkU2V2SW5m", - "bxgCIAEoCzIpLkF4aWJ1Z1Byb3RvYnVmLlByb3RvYnVmX01pbmVfR2FtZVNh", - "dkluZm8q/wUKCUNvbW1hbmRJRBIOCgpDTURfREVGQVVMEAASDAoIQ01EX1BJ", - "TkcQARIMCghDTURfUE9ORxACEg4KCUNNRF9MT0dJThDRDxIYChNDTURfVVNF", - "Ul9PTkxJTkVMSVNUELgXEhIKDUNNRF9VU0VSX0pPSU4Q1xcSEwoOQ01EX1VT", - "RVJfTEVBVkUQ2BcSGgoVQ01EX1VTRVJfU1RBVEVfVVBEQVRFENkXEhgKE0NN", - "RF9Nb2RpZnlfTmlja05hbWUQnRgSHAoXQ01EX1VwZGF0ZV9TZWxmVXNlcklu", - "Zm8QphgSHQoYQ01EX1VwZGF0ZV9PdGhlclVzZXJJbmZvEKgYEhAKC0NNRF9D", - "SEFUTVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01EX1Jvb21fTGlz", - "dF9VcGRhdGUQiicSGAoTQ01EX1Jvb21fR2V0X1NjcmVlbhCTJxIUCg9DTURf", - "Um9vbV9DcmVhdGUQ7ScSEgoNQ01EX1Jvb21fSm9pbhDxJxITCg5DTURfUm9v", - "bV9MZWF2ZRDyJxIiCh1DTURfUm9vbV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2", - "JxIhChxDTURfUm9vbV9DaGFuZ2VQbGF5ZXJXaXRoSm95EIooEhYKEUNNRF9S", - "b29tX1dhaXRTdGVwENEoEicKIkNNRF9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRl", - "U3RhdGVSYXcQ1CgSGgoVQ01EX1Jvb21fUGxheWVyX1JlYWR5ENgoEiAKG0NN", - "RF9Sb29tX1NpbmdlbF9QbGF5ZXJJbnB1dBD6LhIdChhDTURfUk9PTV9TWU5f", - "UGxheWVySW5wdXQQ/y4SDwoKQ01EX1NjcmVlbhDZNhIfChpDTURfR0FNRVNB", - "Vl9HZXRHYW1lU2F2TGlzdBDBPhIbChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2", - "EMU+Eh4KGUNNRF9HQU1FU0FWX1VwbG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dB", - "TUVfTUFSSxD1TirxAQoJRXJyb3JDb2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwK", - "CEVSUk9SX09LEAESGAoURVJST1JfUk9PTV9OT1RfRk9VTkQQChInCiNFUlJP", - "Ul9ST09NX1NMT1RfQUxSRUFETFlfSEFEX1BMQVlFUhALEiEKHUVSUk9SX1JP", - "T01fQ0FOVF9ET19DVVJSX1NUQVRFEDISHwobRVJST1JfUk9NX0RPTlRfSEFE", - "X1NBVkVEQVRBEFASHwoaRVJST1JfUk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMS", - "HAoXRVJST1JfUk9NX0RPTlRfSEFEX1NUQVIQlAMqQAoJTG9naW5UeXBlEg0K", - "CVVzZURldmljZRAAEg4KClVzZUFjY291bnQQARIUChBVc2VIYW9ZdWVBY2Nv", - "dW50EAIqpQEKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAAS", - "BgoCUEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMz", - "EAUSBwoDUFM0EAYSCwoHWEJPWDM2MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlV", - "EAkSDwoLTmludGVuZG8zRFMQChIRCg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dh", - "bWVQYWRUeXBlEgwKCEtleWJvYXJkEAASEQoNR2xvYmFsR2FtZVBhZBABEg4K", - "ClRvdWNoUGFuZWwQAhIOCgpEUzNDb250cm9sEAMSDgoKRFM0Q29udHJvbBAE", - "Eg4KCkRTNUNvbnRyb2wQBRIUChBTd2l0Y2hQcm9Db250cm9sEAYSEAoMU3dp", - "dGNoSm95Q29uEAcSEgoOWEJPWDM2MENvbnRyb2wQCBISCg5YQk9YT05FQ29u", - "dHJvbBAJEhEKDVBTVml0YUNvbnRyb2wQChISCg5XaWlVUGFkQ29udHJvbBAL", - "EhQKEFdpaVJlbW90ZUNvbnRyb2wQDBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQ", - "DSqiAQoPUm9tUGxhdGZvcm1UeXBlEgsKB0ludmFsaWQQABIHCgNOZXMQARIR", - "Cg1NYXN0ZXJfU3lzdGVtEAISDQoJR2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQ", - "BBISCg5HYW1lX0JveV9Db2xvchAFEhEKDUNvbGVjb19WaXNpb24QBhILCgdT", - "Q18zMDAwEAcSCwoHU0dfMTAwMBAIEggKA0FsbBDnBypwCg1Sb29tR2FtZVN0", - "YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25seUhvc3QQARIRCg1XYWl0", - "UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoFUGF1c2UQBBIQCgxJbk9u", - "bGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dpblJlc3Vs", - "dFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAESDgoKQWNjb3VudEVychAC", - "QgJIAWIGcHJvdG8z")); + "ZV9HYW1lU2F2SW5mbyL+AQoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU", + "CgxiSGFkU2F2ZURhdGEYASABKAgSDQoFU2F2SUQYAiABKAMSCwoDdWlkGAMg", + "ASgDEhIKClNhdkRhdGFJZHgYBCABKAUSDQoFUm9tSUQYBSABKAUSOQoQR2Ft", + "ZVBsYXRmb3JtVHlwZRgGIAEoDjIfLkF4aWJ1Z1Byb3RvYnVmLlJvbVBsYXRm", + "b3JtVHlwZRIPCgdTYXZEYXRlGAcgASgJEg8KB1Nhdk5hbWUYCCABKAkSDAoE", + "Tm90ZRgJIAEoCRIRCglTYXZJbWdVcmwYCiABKAkSDgoGU2F2VXJsGAsgASgJ", + "Ij0KGFByb3RvYnVmX01pbmVfRGVsR2FtZVNhdhINCgVSb21JRBgBIAEoBRIS", + "CgpTYXZEYXRhSWR4GAIgASgFIkIKHVByb3RvYnVmX01pbmVfRGVsR2FtZVNh", + "dl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJZHgYAiABKAUifgob", + "UHJvdG9idWZfTWluZV9VcExvYWRHYW1lU2F2Eg0KBVJvbUlEGAEgASgFEhIK", + "ClNhdkRhdGFJZHgYAiABKAUSDAoETmFtZRgDIAEoCRIMCgROb3RlGAQgASgJ", + "Eg4KBlNhdkltZxgFIAEoDBIQCghTdGF0ZVJhdxgGIAEoDCKHAQogUHJvdG9i", + "dWZfTWluZV9VcExvYWRHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSEgoK", + "U2F2RGF0YUlkeBgCIAEoBRJACg1VcGxvYWRTZXZJbmZvGAMgASgLMikuQXhp", + "YnVnUHJvdG9idWYuUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbyr/BQoJQ29t", + "bWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwKCENNRF9Q", + "T05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElORUxJU1QQ", + "uBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFWRRDYFxIa", + "ChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlmeV9OaWNr", + "TmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBIdChhDTURf", + "VXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQoR8SEgoN", + "Q01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0ZRCKJxIY", + "ChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0NyZWF0ZRDt", + "JxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZlEPInEiIK", + "HUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEiEKHENNRF9Sb29t", + "X0NoYW5nZVBsYXllcldpdGhKb3kQiigSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ", + "0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa", + "ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs", + "X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/", + "LhIPCgpDTURfU2NyZWVuENk2Eh8KGkNNRF9HQU1FU0FWX0dldEdhbWVTYXZM", + "aXN0EME+EhsKFkNNRF9HQU1FU0FWX0RlbEdhbWVTYXYQxT4SHgoZQ01EX0dB", + "TUVTQVZfVXBsb2FkR2FtZVNhdhDKPhISCg1DTURfR0FNRV9NQVJLEPVOKvEB", + "CglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVMEAASDAoIRVJST1JfT0sQARIY", + "ChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicKI0VSUk9SX1JPT01fU0xPVF9B", + "TFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9PTV9DQU5UX0RPX0NV", + "UlJfU1RBVEUQMhIfChtFUlJPUl9ST01fRE9OVF9IQURfU0FWRURBVEEQUBIf", + "ChpFUlJPUl9ST01fQUxSRUFEWV9IQURfU1RBUhCTAxIcChdFUlJPUl9ST01f", + "RE9OVF9IQURfU1RBUhCUAypACglMb2dpblR5cGUSDQoJVXNlRGV2aWNlEAAS", + "DgoKVXNlQWNjb3VudBABEhQKEFVzZUhhb1l1ZUFjY291bnQQAiqlAQoKRGV2", + "aWNlVHlwZRIWChJEZXZpY2VUeXBlX0RlZmF1bHQQABIGCgJQQxABEgsKB0Fu", + "ZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQBBIHCgNQUzMQBRIHCgNQUzQQBhIL", + "CgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAIEggKBFdpaVUQCRIPCgtOaW50ZW5k", + "bzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQCyqTAgoLR2FtZVBhZFR5cGUSDAoI", + "S2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1lUGFkEAESDgoKVG91Y2hQYW5lbBAC", + "Eg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRDb250cm9sEAQSDgoKRFM1Q29udHJv", + "bBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQBhIQCgxTd2l0Y2hKb3lDb24QBxIS", + "Cg5YQk9YMzYwQ29udHJvbBAIEhIKDlhCT1hPTkVDb250cm9sEAkSEQoNUFNW", + "aXRhQ29udHJvbBAKEhIKDldpaVVQYWRDb250cm9sEAsSFAoQV2lpUmVtb3Rl", + "Q29udHJvbBAMEhYKEk5pbnRlbmRvM0RTQ29udHJvbBANKqIBCg9Sb21QbGF0", + "Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcKA05lcxABEhEKDU1hc3Rlcl9TeXN0", + "ZW0QAhINCglHYW1lX0dlYXIQAxIMCghHYW1lX0JveRAEEhIKDkdhbWVfQm95", + "X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lvbhAGEgsKB1NDXzMwMDAQBxILCgdT", + "R18xMDAwEAgSCAoDQWxsEOcHKnAKDVJvb21HYW1lU3RhdGUSEgoOTm9uZV9H", + "YW1lU3RhdGUQABIMCghPbmx5SG9zdBABEhEKDVdhaXRSYXdVcGRhdGUQAhIN", + "CglXYWl0UmVhZHkQAxIJCgVQYXVzZRAEEhAKDEluT25saW5lR2FtZRAFKk4K", + "EUxvZ2luUmVzdWx0U3RhdHVzEiEKHUxvZ2luUmVzdWx0U3RhdHVzX0Jhc2VE", + "ZWZhdWx0EAASBgoCT0sQARIOCgpBY2NvdW50RXJyEAJCAkgBYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, 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.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -213,11 +214,11 @@ namespace AxibugProtobuf { new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "IsStar", "Stars" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList.Parser, new[]{ "RomID" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP.Parser, new[]{ "RomID", "SavDataList" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavID", "Uid", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "SavImg", "StateRaw" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "UploadSevInfo" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null) })); } #endregion @@ -10191,6 +10192,8 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_Mine_GameSavInfo(Protobuf_Mine_GameSavInfo other) : this() { bHadSaveData_ = other.bHadSaveData_; + savID_ = other.savID_; + uid_ = other.uid_; savDataIdx_ = other.savDataIdx_; romID_ = other.romID_; gamePlatformType_ = other.gamePlatformType_; @@ -10221,8 +10224,36 @@ namespace AxibugProtobuf { } } + /// Field number for the "SavID" field. + public const int SavIDFieldNumber = 2; + private long savID_; + /// + ///即时存档唯一ID(用于今后分享) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public long SavID { + get { return savID_; } + set { + savID_ = value; + } + } + + /// Field number for the "uid" field. + public const int UidFieldNumber = 3; + private long uid_; + /// + ///所属用户UID(用于今后分享) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public long Uid { + get { return uid_; } + set { + uid_ = value; + } + } + /// Field number for the "SavDataIdx" field. - public const int SavDataIdxFieldNumber = 2; + public const int SavDataIdxFieldNumber = 4; private int savDataIdx_; /// ///即时存档下标(其中第0个是自动存档位置) @@ -10236,7 +10267,7 @@ namespace AxibugProtobuf { } /// Field number for the "RomID" field. - public const int RomIDFieldNumber = 3; + public const int RomIDFieldNumber = 5; private int romID_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public int RomID { @@ -10247,7 +10278,7 @@ namespace AxibugProtobuf { } /// Field number for the "GamePlatformType" field. - public const int GamePlatformTypeFieldNumber = 4; + public const int GamePlatformTypeFieldNumber = 6; private global::AxibugProtobuf.RomPlatformType gamePlatformType_ = global::AxibugProtobuf.RomPlatformType.Invalid; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public global::AxibugProtobuf.RomPlatformType GamePlatformType { @@ -10258,7 +10289,7 @@ namespace AxibugProtobuf { } /// Field number for the "SavDate" field. - public const int SavDateFieldNumber = 5; + public const int SavDateFieldNumber = 7; private string savDate_ = ""; /// ///存档时间 @@ -10272,7 +10303,7 @@ namespace AxibugProtobuf { } /// Field number for the "SavName" field. - public const int SavNameFieldNumber = 6; + public const int SavNameFieldNumber = 8; private string savName_ = ""; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public string SavName { @@ -10283,7 +10314,7 @@ namespace AxibugProtobuf { } /// Field number for the "Note" field. - public const int NoteFieldNumber = 7; + public const int NoteFieldNumber = 9; private string note_ = ""; /// ///备注 @@ -10297,7 +10328,7 @@ namespace AxibugProtobuf { } /// Field number for the "SavImgUrl" field. - public const int SavImgUrlFieldNumber = 8; + public const int SavImgUrlFieldNumber = 10; private string savImgUrl_ = ""; /// ///即时存档截图Url @@ -10311,7 +10342,7 @@ namespace AxibugProtobuf { } /// Field number for the "SavUrl" field. - public const int SavUrlFieldNumber = 9; + public const int SavUrlFieldNumber = 11; private string savUrl_ = ""; /// ///即时存档下载Url @@ -10338,6 +10369,8 @@ namespace AxibugProtobuf { return true; } if (BHadSaveData != other.BHadSaveData) return false; + if (SavID != other.SavID) return false; + if (Uid != other.Uid) return false; if (SavDataIdx != other.SavDataIdx) return false; if (RomID != other.RomID) return false; if (GamePlatformType != other.GamePlatformType) return false; @@ -10353,6 +10386,8 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (BHadSaveData != false) hash ^= BHadSaveData.GetHashCode(); + if (SavID != 0L) hash ^= SavID.GetHashCode(); + if (Uid != 0L) hash ^= Uid.GetHashCode(); if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode(); if (RomID != 0) hash ^= RomID.GetHashCode(); if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) hash ^= GamePlatformType.GetHashCode(); @@ -10381,36 +10416,44 @@ namespace AxibugProtobuf { output.WriteRawTag(8); output.WriteBool(BHadSaveData); } - if (SavDataIdx != 0) { + if (SavID != 0L) { output.WriteRawTag(16); + output.WriteInt64(SavID); + } + if (Uid != 0L) { + output.WriteRawTag(24); + output.WriteInt64(Uid); + } + if (SavDataIdx != 0) { + output.WriteRawTag(32); output.WriteInt32(SavDataIdx); } if (RomID != 0) { - output.WriteRawTag(24); + output.WriteRawTag(40); output.WriteInt32(RomID); } if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) { - output.WriteRawTag(32); + output.WriteRawTag(48); output.WriteEnum((int) GamePlatformType); } if (SavDate.Length != 0) { - output.WriteRawTag(42); + output.WriteRawTag(58); output.WriteString(SavDate); } if (SavName.Length != 0) { - output.WriteRawTag(50); + output.WriteRawTag(66); output.WriteString(SavName); } if (Note.Length != 0) { - output.WriteRawTag(58); + output.WriteRawTag(74); output.WriteString(Note); } if (SavImgUrl.Length != 0) { - output.WriteRawTag(66); + output.WriteRawTag(82); output.WriteString(SavImgUrl); } if (SavUrl.Length != 0) { - output.WriteRawTag(74); + output.WriteRawTag(90); output.WriteString(SavUrl); } if (_unknownFields != null) { @@ -10426,36 +10469,44 @@ namespace AxibugProtobuf { output.WriteRawTag(8); output.WriteBool(BHadSaveData); } - if (SavDataIdx != 0) { + if (SavID != 0L) { output.WriteRawTag(16); + output.WriteInt64(SavID); + } + if (Uid != 0L) { + output.WriteRawTag(24); + output.WriteInt64(Uid); + } + if (SavDataIdx != 0) { + output.WriteRawTag(32); output.WriteInt32(SavDataIdx); } if (RomID != 0) { - output.WriteRawTag(24); + output.WriteRawTag(40); output.WriteInt32(RomID); } if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) { - output.WriteRawTag(32); + output.WriteRawTag(48); output.WriteEnum((int) GamePlatformType); } if (SavDate.Length != 0) { - output.WriteRawTag(42); + output.WriteRawTag(58); output.WriteString(SavDate); } if (SavName.Length != 0) { - output.WriteRawTag(50); + output.WriteRawTag(66); output.WriteString(SavName); } if (Note.Length != 0) { - output.WriteRawTag(58); + output.WriteRawTag(74); output.WriteString(Note); } if (SavImgUrl.Length != 0) { - output.WriteRawTag(66); + output.WriteRawTag(82); output.WriteString(SavImgUrl); } if (SavUrl.Length != 0) { - output.WriteRawTag(74); + output.WriteRawTag(90); output.WriteString(SavUrl); } if (_unknownFields != null) { @@ -10470,6 +10521,12 @@ namespace AxibugProtobuf { if (BHadSaveData != false) { size += 1 + 1; } + if (SavID != 0L) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(SavID); + } + if (Uid != 0L) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(Uid); + } if (SavDataIdx != 0) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx); } @@ -10508,6 +10565,12 @@ namespace AxibugProtobuf { if (other.BHadSaveData != false) { BHadSaveData = other.BHadSaveData; } + if (other.SavID != 0L) { + SavID = other.SavID; + } + if (other.Uid != 0L) { + Uid = other.Uid; + } if (other.SavDataIdx != 0) { SavDataIdx = other.SavDataIdx; } @@ -10551,34 +10614,42 @@ namespace AxibugProtobuf { break; } case 16: { - SavDataIdx = input.ReadInt32(); + SavID = input.ReadInt64(); break; } case 24: { - RomID = input.ReadInt32(); + Uid = input.ReadInt64(); break; } case 32: { + SavDataIdx = input.ReadInt32(); + break; + } + case 40: { + RomID = input.ReadInt32(); + break; + } + case 48: { GamePlatformType = (global::AxibugProtobuf.RomPlatformType) input.ReadEnum(); break; } - case 42: { + case 58: { SavDate = input.ReadString(); break; } - case 50: { + case 66: { SavName = input.ReadString(); break; } - case 58: { + case 74: { Note = input.ReadString(); break; } - case 66: { + case 82: { SavImgUrl = input.ReadString(); break; } - case 74: { + case 90: { SavUrl = input.ReadString(); break; } @@ -10601,34 +10672,42 @@ namespace AxibugProtobuf { break; } case 16: { - SavDataIdx = input.ReadInt32(); + SavID = input.ReadInt64(); break; } case 24: { - RomID = input.ReadInt32(); + Uid = input.ReadInt64(); break; } case 32: { + SavDataIdx = input.ReadInt32(); + break; + } + case 40: { + RomID = input.ReadInt32(); + break; + } + case 48: { GamePlatformType = (global::AxibugProtobuf.RomPlatformType) input.ReadEnum(); break; } - case 42: { + case 58: { SavDate = input.ReadString(); break; } - case 50: { + case 66: { SavName = input.ReadString(); break; } - case 58: { + case 74: { Note = input.ReadString(); break; } - case 66: { + case 82: { SavImgUrl = input.ReadString(); break; } - case 74: { + case 90: { SavUrl = input.ReadString(); break; } @@ -11098,6 +11177,8 @@ namespace AxibugProtobuf { public Protobuf_Mine_UpLoadGameSav(Protobuf_Mine_UpLoadGameSav other) : this() { romID_ = other.romID_; savDataIdx_ = other.savDataIdx_; + name_ = other.name_; + note_ = other.note_; savImg_ = other.savImg_; stateRaw_ = other.stateRaw_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); @@ -11136,8 +11217,36 @@ namespace AxibugProtobuf { } } + /// Field number for the "Name" field. + public const int NameFieldNumber = 3; + private string name_ = ""; + /// + ///存档名(留空时,服务器自动) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public string Name { + get { return name_; } + set { + name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "Note" field. + public const int NoteFieldNumber = 4; + private string note_ = ""; + /// + ///备注(留空时,服务器自动) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public string Note { + get { return note_; } + set { + note_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Field number for the "SavImg" field. - public const int SavImgFieldNumber = 3; + public const int SavImgFieldNumber = 5; private pb::ByteString savImg_ = pb::ByteString.Empty; /// ///即时存档截图模拟器原生数据 @@ -11151,7 +11260,7 @@ namespace AxibugProtobuf { } /// Field number for the "StateRaw" field. - public const int StateRawFieldNumber = 4; + public const int StateRawFieldNumber = 6; private pb::ByteString stateRaw_ = pb::ByteString.Empty; /// ///即时存档byte数据 @@ -11179,6 +11288,8 @@ namespace AxibugProtobuf { } if (RomID != other.RomID) return false; if (SavDataIdx != other.SavDataIdx) return false; + if (Name != other.Name) return false; + if (Note != other.Note) return false; if (SavImg != other.SavImg) return false; if (StateRaw != other.StateRaw) return false; return Equals(_unknownFields, other._unknownFields); @@ -11189,6 +11300,8 @@ namespace AxibugProtobuf { int hash = 1; if (RomID != 0) hash ^= RomID.GetHashCode(); if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode(); + if (Name.Length != 0) hash ^= Name.GetHashCode(); + if (Note.Length != 0) hash ^= Note.GetHashCode(); if (SavImg.Length != 0) hash ^= SavImg.GetHashCode(); if (StateRaw.Length != 0) hash ^= StateRaw.GetHashCode(); if (_unknownFields != null) { @@ -11215,12 +11328,20 @@ namespace AxibugProtobuf { output.WriteRawTag(16); output.WriteInt32(SavDataIdx); } - if (SavImg.Length != 0) { + if (Name.Length != 0) { output.WriteRawTag(26); + output.WriteString(Name); + } + if (Note.Length != 0) { + output.WriteRawTag(34); + output.WriteString(Note); + } + if (SavImg.Length != 0) { + output.WriteRawTag(42); output.WriteBytes(SavImg); } if (StateRaw.Length != 0) { - output.WriteRawTag(34); + output.WriteRawTag(50); output.WriteBytes(StateRaw); } if (_unknownFields != null) { @@ -11240,12 +11361,20 @@ namespace AxibugProtobuf { output.WriteRawTag(16); output.WriteInt32(SavDataIdx); } - if (SavImg.Length != 0) { + if (Name.Length != 0) { output.WriteRawTag(26); + output.WriteString(Name); + } + if (Note.Length != 0) { + output.WriteRawTag(34); + output.WriteString(Note); + } + if (SavImg.Length != 0) { + output.WriteRawTag(42); output.WriteBytes(SavImg); } if (StateRaw.Length != 0) { - output.WriteRawTag(34); + output.WriteRawTag(50); output.WriteBytes(StateRaw); } if (_unknownFields != null) { @@ -11263,6 +11392,12 @@ namespace AxibugProtobuf { if (SavDataIdx != 0) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx); } + if (Name.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); + } + if (Note.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Note); + } if (SavImg.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(SavImg); } @@ -11286,6 +11421,12 @@ namespace AxibugProtobuf { if (other.SavDataIdx != 0) { SavDataIdx = other.SavDataIdx; } + if (other.Name.Length != 0) { + Name = other.Name; + } + if (other.Note.Length != 0) { + Note = other.Note; + } if (other.SavImg.Length != 0) { SavImg = other.SavImg; } @@ -11315,10 +11456,18 @@ namespace AxibugProtobuf { break; } case 26: { - SavImg = input.ReadBytes(); + Name = input.ReadString(); break; } case 34: { + Note = input.ReadString(); + break; + } + case 42: { + SavImg = input.ReadBytes(); + break; + } + case 50: { StateRaw = input.ReadBytes(); break; } @@ -11345,10 +11494,18 @@ namespace AxibugProtobuf { break; } case 26: { - SavImg = input.ReadBytes(); + Name = input.ReadString(); break; } case 34: { + Note = input.ReadString(); + break; + } + case 42: { + SavImg = input.ReadBytes(); + break; + } + case 50: { StateRaw = input.ReadBytes(); break; } @@ -11389,6 +11546,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_Mine_UpLoadGameSav_RESP(Protobuf_Mine_UpLoadGameSav_RESP other) : this() { romID_ = other.romID_; + savDataIdx_ = other.savDataIdx_; uploadSevInfo_ = other.uploadSevInfo_ != null ? other.uploadSevInfo_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -11412,8 +11570,22 @@ namespace AxibugProtobuf { } } + /// Field number for the "SavDataIdx" field. + public const int SavDataIdxFieldNumber = 2; + private int savDataIdx_; + /// + ///即时存档下标(其中第0个是自动存档位置) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int SavDataIdx { + get { return savDataIdx_; } + set { + savDataIdx_ = value; + } + } + /// Field number for the "UploadSevInfo" field. - public const int UploadSevInfoFieldNumber = 2; + public const int UploadSevInfoFieldNumber = 3; private global::AxibugProtobuf.Protobuf_Mine_GameSavInfo uploadSevInfo_; /// ///上传成功的存档详情 @@ -11440,6 +11612,7 @@ namespace AxibugProtobuf { return true; } if (RomID != other.RomID) return false; + if (SavDataIdx != other.SavDataIdx) return false; if (!object.Equals(UploadSevInfo, other.UploadSevInfo)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -11448,6 +11621,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (RomID != 0) hash ^= RomID.GetHashCode(); + if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode(); if (uploadSevInfo_ != null) hash ^= UploadSevInfo.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -11469,8 +11643,12 @@ namespace AxibugProtobuf { output.WriteRawTag(8); output.WriteInt32(RomID); } + if (SavDataIdx != 0) { + output.WriteRawTag(16); + output.WriteInt32(SavDataIdx); + } if (uploadSevInfo_ != null) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteMessage(UploadSevInfo); } if (_unknownFields != null) { @@ -11486,8 +11664,12 @@ namespace AxibugProtobuf { output.WriteRawTag(8); output.WriteInt32(RomID); } + if (SavDataIdx != 0) { + output.WriteRawTag(16); + output.WriteInt32(SavDataIdx); + } if (uploadSevInfo_ != null) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteMessage(UploadSevInfo); } if (_unknownFields != null) { @@ -11502,6 +11684,9 @@ namespace AxibugProtobuf { if (RomID != 0) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID); } + if (SavDataIdx != 0) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx); + } if (uploadSevInfo_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(UploadSevInfo); } @@ -11519,6 +11704,9 @@ namespace AxibugProtobuf { if (other.RomID != 0) { RomID = other.RomID; } + if (other.SavDataIdx != 0) { + SavDataIdx = other.SavDataIdx; + } if (other.uploadSevInfo_ != null) { if (uploadSevInfo_ == null) { UploadSevInfo = new global::AxibugProtobuf.Protobuf_Mine_GameSavInfo(); @@ -11543,7 +11731,11 @@ namespace AxibugProtobuf { RomID = input.ReadInt32(); break; } - case 18: { + case 16: { + SavDataIdx = input.ReadInt32(); + break; + } + case 26: { if (uploadSevInfo_ == null) { UploadSevInfo = new global::AxibugProtobuf.Protobuf_Mine_GameSavInfo(); } @@ -11568,7 +11760,11 @@ namespace AxibugProtobuf { RomID = input.ReadInt32(); break; } - case 18: { + case 16: { + SavDataIdx = input.ReadInt32(); + break; + } + case 26: { if (uploadSevInfo_ == null) { UploadSevInfo = new global::AxibugProtobuf.Protobuf_Mine_GameSavInfo(); } diff --git a/AxibugEmuOnline.Server/Common/SQLPool.cs b/AxibugEmuOnline.Server/Common/SQLPool.cs index 12f153d6..654834cc 100644 --- a/AxibugEmuOnline.Server/Common/SQLPool.cs +++ b/AxibugEmuOnline.Server/Common/SQLPool.cs @@ -42,6 +42,7 @@ namespace AxibugEmuOnline.Server.Common public static MySqlConnection DequeueSQLConn(string FuncStr) { + Console.WriteLine($"[DequeueSQLConn]{FuncStr}"); lock (_sync) { if (_DicSqlRunFunNum.ContainsKey(FuncStr)) diff --git a/AxibugEmuOnline.Server/Manager/AppSrv.cs b/AxibugEmuOnline.Server/Manager/AppSrv.cs index 197dfdb9..7a7bf5be 100644 --- a/AxibugEmuOnline.Server/Manager/AppSrv.cs +++ b/AxibugEmuOnline.Server/Manager/AppSrv.cs @@ -17,6 +17,7 @@ namespace AxibugEmuOnline.Server public static IOCPNetWork g_SocketMgr; public static RoomManager g_Room; public static GameShareManager g_GameShareMgr; + private static SavDataManager g_GameSavMgr; public static void InitServer(int port) { @@ -33,6 +34,7 @@ namespace AxibugEmuOnline.Server g_SocketMgr = new IOCPNetWork(1024, 4096 * 2); g_Room = new RoomManager(); g_GameShareMgr = new GameShareManager(); + g_GameSavMgr = new SavDataManager(); g_SocketMgr.Init(); g_SocketMgr.Start(new IPEndPoint(IPAddress.Any.Address, port)); diff --git a/AxibugEmuOnline.Server/Manager/SavDataManager.cs b/AxibugEmuOnline.Server/Manager/SavDataManager.cs index fbc5d8d9..bebdabd4 100644 --- a/AxibugEmuOnline.Server/Manager/SavDataManager.cs +++ b/AxibugEmuOnline.Server/Manager/SavDataManager.cs @@ -11,6 +11,8 @@ namespace AxibugEmuOnline.Server.Manager public SavDataManager() { NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdGamesavGetGameSavList, RecvGetGameSavList); + NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdGamesavDelGameSav, RecvDelGameSav); + NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdGamesavUploadGameSav, RecvUpLoadGameSav); } public void RecvGetGameSavList(Socket _socket, byte[] reqData) @@ -29,7 +31,7 @@ namespace AxibugEmuOnline.Server.Manager MySqlConnection conn = SQLPool.DequeueSQLConn("RecvGameMark"); try { - string query = "SELECT `romid`, `savidx`, `savName`,`savNote`, `savUrl`,`savImgUrl`, `savDate` from user_gamesavedata where uid = ?uid and romid = ?romid"; + string query = "SELECT `id`,`uid`,`romid`, `savidx`, `savName`,`savNote`, `savUrl`,`savImgUrl`, `savDate` from user_gamesavedata where uid = ?uid and romid = ?romid"; bool bHad = false; using (var command = new MySqlCommand(query, conn)) { @@ -43,13 +45,16 @@ namespace AxibugEmuOnline.Server.Manager Protobuf_Mine_GameSavInfo resp = new Protobuf_Mine_GameSavInfo() { BHadSaveData = true, - RomID = reader.GetInt32(0), - SavDataIdx = reader.GetInt32(1), - SavName = reader.GetString(2), - Note = reader.GetString(3), - SavUrl = reader.GetString(4), - SavImgUrl = reader.GetString(5), - SavDate = reader.GetDateTime(6).ToString() + SavID = reader.GetInt64(0), + Uid = reader.GetInt64(1), + RomID = reader.GetInt32(2), + SavDataIdx = reader.GetInt32(3), + SavName = reader.GetString(4), + Note = reader.GetString(5), + SavUrl = reader.GetString(6), + SavImgUrl = reader.GetString(7), + SavDate = reader.GetDateTime(8).ToString(), + GamePlatformType = AppSrv.g_GameShareMgr.GetRomPlatformType(msg.RomID) }; respData.SavDataList[resp.SavDataIdx] = resp; } @@ -65,6 +70,7 @@ namespace AxibugEmuOnline.Server.Manager respData.RomID = msg.RomID; AppSrv.g_ClientMgr.ClientSend(_c, (int)CommandID.CmdGamesavGetGameSavList, (int)ErrorCode.ErrorOk, ProtoBufHelper.Serizlize(respData)); } + public void RecvDelGameSav(Socket _socket, byte[] reqData) { Protobuf_Mine_DelGameSav msg = ProtoBufHelper.DeSerizlize(reqData); @@ -92,13 +98,11 @@ namespace AxibugEmuOnline.Server.Manager } } } - } catch (Exception e) { } - if (!bHad) { errCode = ErrorCode.ErrorRomDontHadSavedata; @@ -107,22 +111,128 @@ namespace AxibugEmuOnline.Server.Manager { bool bDelSav = FileDelete(Path.Combine(Config.cfg.savDataPath, SavUrl)); bool bDelImg = FileDelete(Path.Combine(Config.cfg.savDataPath, SavImgUrl)); - if (bDelSav || !bDelImg) + if (!bDelSav || !bDelImg) { errCode = ErrorCode.ErrorRomDontHadSavedata; } else { - + try + { + string query = "delete from user_gamesavedata where uid = ?uid and romid = ?romid and savidx = ?savidx"; + using (var command = new MySqlCommand(query, conn)) + { + // 设置参数值 + command.Parameters.AddWithValue("?uid", _c.UID); + command.Parameters.AddWithValue("?romid", msg.RomID); + if (command.ExecuteNonQuery() < 1) + { + AppSrv.g_Log.Error("删除即时存档,但是他并没有."); + } + } + } + catch { } } } SQLPool.EnqueueSQLConn(conn); - respData.RomID = msg.RomID; - AppSrv.g_ClientMgr.ClientSend(_c, (int)CommandID.CmdGamesavGetGameSavList, (int)ErrorCode.ErrorOk, ProtoBufHelper.Serizlize(respData)); + if (errCode == ErrorCode.ErrorOk) + { + respData.RomID = msg.RomID; + respData.SavDataIdx = msg.SavDataIdx; + } + + AppSrv.g_ClientMgr.ClientSend(_c, (int)CommandID.CmdGamesavGetGameSavList, (int)errCode, ProtoBufHelper.Serizlize(respData)); } + public void RecvUpLoadGameSav(Socket _socket, byte[] reqData) + { + Protobuf_Mine_UpLoadGameSav msg = ProtoBufHelper.DeSerizlize(reqData); + ClientInfo _c = AppSrv.g_ClientMgr.GetClientForSocket(_socket); + Protobuf_Mine_UpLoadGameSav_RESP respData = new Protobuf_Mine_UpLoadGameSav_RESP(); + ErrorCode errCode = ErrorCode.ErrorOk; + respData.RomID = msg.RomID; + + RomPlatformType ptype = AppSrv.g_GameShareMgr.GetRomPlatformType(msg.RomID); + + if (GetProtobufMineGameSavInfo(_c.UID, msg.RomID, msg.SavDataIdx, out Protobuf_Mine_GameSavInfo oldSavInfo)) + { + bool bDelSav = FileDelete(Path.Combine(Config.cfg.savDataPath, oldSavInfo.SavUrl)); + bool bDelImg = FileDelete(Path.Combine(Config.cfg.savDataPath, oldSavInfo.SavImgUrl)); + if (!bDelSav || !bDelImg) + { + errCode = ErrorCode.ErrorRomDontHadSavedata; + } + + if (!DeleteProtobufMineGameSavInfo(_c.UID, msg.RomID, msg.SavDataIdx)) + { + //删除失败 + errCode = ErrorCode.ErrorRomDontHadSavedata; + } + } + + if (errCode == ErrorCode.ErrorOk) + { + MySqlConnection conn = SQLPool.DequeueSQLConn("RecvUpLoadGameSav"); + byte[] StateRawData = msg.StateRaw.ToArray(); + byte[] ImgData = msg.SavImg.ToArray(); + GetNewRomPath(_c.UID, ptype, msg.RomID, msg.SavDataIdx, $"{msg.SavDataIdx}.axisav", out string rompath); + GetNewRomPath(_c.UID, ptype, msg.RomID, msg.SavDataIdx, $"{msg.SavDataIdx}.axiimg", out string imgpath); + + if (!CreateFile(Path.Combine(Config.cfg.savDataPath, rompath), StateRawData) + || + !CreateFile(Path.Combine(Config.cfg.savDataPath, imgpath), StateRawData) + ) + { + //INSERT INTO `haoyue_emu`.`user_gamesavedata` ( `uid`, `romid`, `savidx`, `savName`, `savNote`, `savUrl`, `savImgUrl`, `savDate`) VALUES ( 0, 0, 2147483647, '', '', '', '', '0000-00-00 00:00:00'); + string query = "INSERT INTO `haoyue_emu`.`user_gamesavedata`" + + " ( `uid`, `romid`, `savidx`, `savName`, `savNote`, `savUrl`, `savImgUrl`, `savDate`)" + + " VALUES ( ?uid, ?romid, ?savidx, ?savName, ?savNote, ?savUrl, ?savImgUrl, ?savDate);"; + + using (var command = new MySqlCommand(query, conn)) + { + // 设置参数值 + command.Parameters.AddWithValue("?uid", _c.UID); + command.Parameters.AddWithValue("?romid", msg.RomID); + command.Parameters.AddWithValue("?savidx", msg.SavDataIdx); + command.Parameters.AddWithValue("?savName", msg.Name); + command.Parameters.AddWithValue("?savNote", msg.Note); + command.Parameters.AddWithValue("?savUrl", rompath); + command.Parameters.AddWithValue("?savImgUrl", imgpath); + command.Parameters.AddWithValue("?savDate", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); + if (command.ExecuteNonQuery() < 1) + { + AppSrv.g_Log.Error("执行即时存档保存失败"); + } + } + } + + SQLPool.EnqueueSQLConn(conn); + } + + + if (errCode == ErrorCode.ErrorOk) + { + if (!GetProtobufMineGameSavInfo(_c.UID, msg.RomID, msg.SavDataIdx, out Protobuf_Mine_GameSavInfo protoData)) + { + //不存在 + errCode = ErrorCode.ErrorRomDontHadSavedata; + } + else + { + respData.RomID = msg.RomID; + respData.SavDataIdx = msg.SavDataIdx; + respData.UploadSevInfo = protoData; + } + } + + AppSrv.g_ClientMgr.ClientSend(_c, (int)CommandID.CmdGamesavGetGameSavList, (int)errCode, ProtoBufHelper.Serizlize(respData)); + } + public void GetNewRomPath(long uid, RomPlatformType ptype, int romid, int stateIdx, string filename, out string path) + { + path = Path.Combine(uid.ToString(), ptype.ToString(), romid.ToString(), stateIdx.ToString(), filename); + } public bool FileDelete(string path) { if (!File.Exists(path)) @@ -138,17 +248,94 @@ namespace AxibugEmuOnline.Server.Manager } } - public bool FileDelete(string path, byte[] data) + public bool CreateFile(string path, byte[] data) { try { + string dir = Path.GetDirectoryName(path); + if (!Directory.Exists(dir)) + { + Directory.CreateDirectory(dir); + } + File.WriteAllBytes(path, data); return true; } - catch (Exception e) + catch (Exception ex) { + AppSrv.g_Log.Error($"CreeateFile Err =>{ex.ToString()}"); return false; } } + + public bool GetProtobufMineGameSavInfo(long uid, int romid, int savIdx, out Protobuf_Mine_GameSavInfo protoData) + { + bool bhad = false; + protoData = default; + RomPlatformType ptype = AppSrv.g_GameShareMgr.GetRomPlatformType(romid); + MySqlConnection conn = SQLPool.DequeueSQLConn("GetProtobufMineGameSavInfo"); + try + { + string query = "SELECT `id`,`uid`, `romid`, `savidx`, `savName`, `savNote`, `savUrl`, `savImgUrl`, `savDate` from `user_gamesavedata` where uid = ?uid and romid = ?romid and savidx = ?savidx"; + using (var command = new MySqlCommand(query, conn)) + { + // 设置参数值 + command.Parameters.AddWithValue("?uid", uid); + command.Parameters.AddWithValue("?romid", romid); + command.Parameters.AddWithValue("?savidx", savIdx); + using (var reader = command.ExecuteReader()) + { + while (reader.Read()) + { + protoData = new Protobuf_Mine_GameSavInfo() + { + BHadSaveData = true, + SavID = reader.GetInt64(0), + Uid = reader.GetInt64(1), + RomID = reader.GetInt32(2), + SavDataIdx = reader.GetInt32(3), + SavName = reader.GetString(4), + Note = reader.GetString(5), + SavUrl = reader.GetString(6), + SavImgUrl = reader.GetString(7), + SavDate = reader.GetDateTime(8).ToString("yyyy-MM-dd HH:mm:ss"), + GamePlatformType = ptype + }; + bhad = true; + break; + } + } + } + } + catch (Exception e) + { + } + SQLPool.EnqueueSQLConn(conn); + return bhad; + } + + public bool DeleteProtobufMineGameSavInfo(long uid, int romid, int savIdx) + { + bool bDone = false; + RomPlatformType ptype = AppSrv.g_GameShareMgr.GetRomPlatformType(romid); + MySqlConnection conn = SQLPool.DequeueSQLConn("DeleteProtobufMineGameSavInfo"); + try + { + string query = "delete from `user_gamesavedata` where uid = ?uid and romid = ?romid and savidx = ?savidx"; + using (var command = new MySqlCommand(query, conn)) + { + // 设置参数值 + command.Parameters.AddWithValue("?uid", uid); + command.Parameters.AddWithValue("?romid", romid); + command.Parameters.AddWithValue("?savidx", savIdx); + bDone = command.ExecuteNonQuery() > 0; + } + } + catch (Exception e) + { + } + SQLPool.EnqueueSQLConn(conn); + return bDone; + } } } diff --git a/AxibugEmuOnline.Server/Protobuf/ProtobufAxibugEmuOnline.cs b/AxibugEmuOnline.Server/Protobuf/ProtobufAxibugEmuOnline.cs index d12c6a4e..af7ff2fd 100644 --- a/AxibugEmuOnline.Server/Protobuf/ProtobufAxibugEmuOnline.cs +++ b/AxibugEmuOnline.Server/Protobuf/ProtobufAxibugEmuOnline.cs @@ -109,62 +109,63 @@ namespace AxibugProtobuf { "bmVfR2V0R2FtZVNhdkxpc3QSDQoFUm9tSUQYASABKAUicgohUHJvdG9idWZf", "TWluZV9HZXRHYW1lU2F2TGlzdF9SRVNQEg0KBVJvbUlEGAEgASgFEj4KC1Nh", "dkRhdGFMaXN0GAIgAygLMikuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfTWlu", - "ZV9HYW1lU2F2SW5mbyLiAQoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU", - "CgxiSGFkU2F2ZURhdGEYASABKAgSEgoKU2F2RGF0YUlkeBgCIAEoBRINCgVS", - "b21JRBgDIAEoBRI5ChBHYW1lUGxhdGZvcm1UeXBlGAQgASgOMh8uQXhpYnVn", - "UHJvdG9idWYuUm9tUGxhdGZvcm1UeXBlEg8KB1NhdkRhdGUYBSABKAkSDwoH", - "U2F2TmFtZRgGIAEoCRIMCgROb3RlGAcgASgJEhEKCVNhdkltZ1VybBgIIAEo", - "CRIOCgZTYXZVcmwYCSABKAkiPQoYUHJvdG9idWZfTWluZV9EZWxHYW1lU2F2", - "Eg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJZHgYAiABKAUiQgodUHJvdG9i", - "dWZfTWluZV9EZWxHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSEgoKU2F2", - "RGF0YUlkeBgCIAEoBSJiChtQcm90b2J1Zl9NaW5lX1VwTG9hZEdhbWVTYXYS", - "DQoFUm9tSUQYASABKAUSEgoKU2F2RGF0YUlkeBgCIAEoBRIOCgZTYXZJbWcY", - "AyABKAwSEAoIU3RhdGVSYXcYBCABKAwicwogUHJvdG9idWZfTWluZV9VcExv", - "YWRHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSQAoNVXBsb2FkU2V2SW5m", - "bxgCIAEoCzIpLkF4aWJ1Z1Byb3RvYnVmLlByb3RvYnVmX01pbmVfR2FtZVNh", - "dkluZm8q/wUKCUNvbW1hbmRJRBIOCgpDTURfREVGQVVMEAASDAoIQ01EX1BJ", - "TkcQARIMCghDTURfUE9ORxACEg4KCUNNRF9MT0dJThDRDxIYChNDTURfVVNF", - "Ul9PTkxJTkVMSVNUELgXEhIKDUNNRF9VU0VSX0pPSU4Q1xcSEwoOQ01EX1VT", - "RVJfTEVBVkUQ2BcSGgoVQ01EX1VTRVJfU1RBVEVfVVBEQVRFENkXEhgKE0NN", - "RF9Nb2RpZnlfTmlja05hbWUQnRgSHAoXQ01EX1VwZGF0ZV9TZWxmVXNlcklu", - "Zm8QphgSHQoYQ01EX1VwZGF0ZV9PdGhlclVzZXJJbmZvEKgYEhAKC0NNRF9D", - "SEFUTVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01EX1Jvb21fTGlz", - "dF9VcGRhdGUQiicSGAoTQ01EX1Jvb21fR2V0X1NjcmVlbhCTJxIUCg9DTURf", - "Um9vbV9DcmVhdGUQ7ScSEgoNQ01EX1Jvb21fSm9pbhDxJxITCg5DTURfUm9v", - "bV9MZWF2ZRDyJxIiCh1DTURfUm9vbV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2", - "JxIhChxDTURfUm9vbV9DaGFuZ2VQbGF5ZXJXaXRoSm95EIooEhYKEUNNRF9S", - "b29tX1dhaXRTdGVwENEoEicKIkNNRF9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRl", - "U3RhdGVSYXcQ1CgSGgoVQ01EX1Jvb21fUGxheWVyX1JlYWR5ENgoEiAKG0NN", - "RF9Sb29tX1NpbmdlbF9QbGF5ZXJJbnB1dBD6LhIdChhDTURfUk9PTV9TWU5f", - "UGxheWVySW5wdXQQ/y4SDwoKQ01EX1NjcmVlbhDZNhIfChpDTURfR0FNRVNB", - "Vl9HZXRHYW1lU2F2TGlzdBDBPhIbChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2", - "EMU+Eh4KGUNNRF9HQU1FU0FWX1VwbG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dB", - "TUVfTUFSSxD1TirxAQoJRXJyb3JDb2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwK", - "CEVSUk9SX09LEAESGAoURVJST1JfUk9PTV9OT1RfRk9VTkQQChInCiNFUlJP", - "Ul9ST09NX1NMT1RfQUxSRUFETFlfSEFEX1BMQVlFUhALEiEKHUVSUk9SX1JP", - "T01fQ0FOVF9ET19DVVJSX1NUQVRFEDISHwobRVJST1JfUk9NX0RPTlRfSEFE", - "X1NBVkVEQVRBEFASHwoaRVJST1JfUk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMS", - "HAoXRVJST1JfUk9NX0RPTlRfSEFEX1NUQVIQlAMqQAoJTG9naW5UeXBlEg0K", - "CVVzZURldmljZRAAEg4KClVzZUFjY291bnQQARIUChBVc2VIYW9ZdWVBY2Nv", - "dW50EAIqpQEKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAAS", - "BgoCUEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMz", - "EAUSBwoDUFM0EAYSCwoHWEJPWDM2MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlV", - "EAkSDwoLTmludGVuZG8zRFMQChIRCg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dh", - "bWVQYWRUeXBlEgwKCEtleWJvYXJkEAASEQoNR2xvYmFsR2FtZVBhZBABEg4K", - "ClRvdWNoUGFuZWwQAhIOCgpEUzNDb250cm9sEAMSDgoKRFM0Q29udHJvbBAE", - "Eg4KCkRTNUNvbnRyb2wQBRIUChBTd2l0Y2hQcm9Db250cm9sEAYSEAoMU3dp", - "dGNoSm95Q29uEAcSEgoOWEJPWDM2MENvbnRyb2wQCBISCg5YQk9YT05FQ29u", - "dHJvbBAJEhEKDVBTVml0YUNvbnRyb2wQChISCg5XaWlVUGFkQ29udHJvbBAL", - "EhQKEFdpaVJlbW90ZUNvbnRyb2wQDBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQ", - "DSqiAQoPUm9tUGxhdGZvcm1UeXBlEgsKB0ludmFsaWQQABIHCgNOZXMQARIR", - "Cg1NYXN0ZXJfU3lzdGVtEAISDQoJR2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQ", - "BBISCg5HYW1lX0JveV9Db2xvchAFEhEKDUNvbGVjb19WaXNpb24QBhILCgdT", - "Q18zMDAwEAcSCwoHU0dfMTAwMBAIEggKA0FsbBDnBypwCg1Sb29tR2FtZVN0", - "YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25seUhvc3QQARIRCg1XYWl0", - "UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoFUGF1c2UQBBIQCgxJbk9u", - "bGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dpblJlc3Vs", - "dFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAESDgoKQWNjb3VudEVychAC", - "QgJIAWIGcHJvdG8z")); + "ZV9HYW1lU2F2SW5mbyL+AQoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU", + "CgxiSGFkU2F2ZURhdGEYASABKAgSDQoFU2F2SUQYAiABKAMSCwoDdWlkGAMg", + "ASgDEhIKClNhdkRhdGFJZHgYBCABKAUSDQoFUm9tSUQYBSABKAUSOQoQR2Ft", + "ZVBsYXRmb3JtVHlwZRgGIAEoDjIfLkF4aWJ1Z1Byb3RvYnVmLlJvbVBsYXRm", + "b3JtVHlwZRIPCgdTYXZEYXRlGAcgASgJEg8KB1Nhdk5hbWUYCCABKAkSDAoE", + "Tm90ZRgJIAEoCRIRCglTYXZJbWdVcmwYCiABKAkSDgoGU2F2VXJsGAsgASgJ", + "Ij0KGFByb3RvYnVmX01pbmVfRGVsR2FtZVNhdhINCgVSb21JRBgBIAEoBRIS", + "CgpTYXZEYXRhSWR4GAIgASgFIkIKHVByb3RvYnVmX01pbmVfRGVsR2FtZVNh", + "dl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJZHgYAiABKAUifgob", + "UHJvdG9idWZfTWluZV9VcExvYWRHYW1lU2F2Eg0KBVJvbUlEGAEgASgFEhIK", + "ClNhdkRhdGFJZHgYAiABKAUSDAoETmFtZRgDIAEoCRIMCgROb3RlGAQgASgJ", + "Eg4KBlNhdkltZxgFIAEoDBIQCghTdGF0ZVJhdxgGIAEoDCKHAQogUHJvdG9i", + "dWZfTWluZV9VcExvYWRHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSEgoK", + "U2F2RGF0YUlkeBgCIAEoBRJACg1VcGxvYWRTZXZJbmZvGAMgASgLMikuQXhp", + "YnVnUHJvdG9idWYuUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbyr/BQoJQ29t", + "bWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwKCENNRF9Q", + "T05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElORUxJU1QQ", + "uBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFWRRDYFxIa", + "ChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlmeV9OaWNr", + "TmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBIdChhDTURf", + "VXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQoR8SEgoN", + "Q01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0ZRCKJxIY", + "ChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0NyZWF0ZRDt", + "JxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZlEPInEiIK", + "HUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEiEKHENNRF9Sb29t", + "X0NoYW5nZVBsYXllcldpdGhKb3kQiigSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ", + "0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa", + "ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs", + "X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/", + "LhIPCgpDTURfU2NyZWVuENk2Eh8KGkNNRF9HQU1FU0FWX0dldEdhbWVTYXZM", + "aXN0EME+EhsKFkNNRF9HQU1FU0FWX0RlbEdhbWVTYXYQxT4SHgoZQ01EX0dB", + "TUVTQVZfVXBsb2FkR2FtZVNhdhDKPhISCg1DTURfR0FNRV9NQVJLEPVOKvEB", + "CglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVMEAASDAoIRVJST1JfT0sQARIY", + "ChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicKI0VSUk9SX1JPT01fU0xPVF9B", + "TFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9PTV9DQU5UX0RPX0NV", + "UlJfU1RBVEUQMhIfChtFUlJPUl9ST01fRE9OVF9IQURfU0FWRURBVEEQUBIf", + "ChpFUlJPUl9ST01fQUxSRUFEWV9IQURfU1RBUhCTAxIcChdFUlJPUl9ST01f", + "RE9OVF9IQURfU1RBUhCUAypACglMb2dpblR5cGUSDQoJVXNlRGV2aWNlEAAS", + "DgoKVXNlQWNjb3VudBABEhQKEFVzZUhhb1l1ZUFjY291bnQQAiqlAQoKRGV2", + "aWNlVHlwZRIWChJEZXZpY2VUeXBlX0RlZmF1bHQQABIGCgJQQxABEgsKB0Fu", + "ZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQBBIHCgNQUzMQBRIHCgNQUzQQBhIL", + "CgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAIEggKBFdpaVUQCRIPCgtOaW50ZW5k", + "bzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQCyqTAgoLR2FtZVBhZFR5cGUSDAoI", + "S2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1lUGFkEAESDgoKVG91Y2hQYW5lbBAC", + "Eg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRDb250cm9sEAQSDgoKRFM1Q29udHJv", + "bBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQBhIQCgxTd2l0Y2hKb3lDb24QBxIS", + "Cg5YQk9YMzYwQ29udHJvbBAIEhIKDlhCT1hPTkVDb250cm9sEAkSEQoNUFNW", + "aXRhQ29udHJvbBAKEhIKDldpaVVQYWRDb250cm9sEAsSFAoQV2lpUmVtb3Rl", + "Q29udHJvbBAMEhYKEk5pbnRlbmRvM0RTQ29udHJvbBANKqIBCg9Sb21QbGF0", + "Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcKA05lcxABEhEKDU1hc3Rlcl9TeXN0", + "ZW0QAhINCglHYW1lX0dlYXIQAxIMCghHYW1lX0JveRAEEhIKDkdhbWVfQm95", + "X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lvbhAGEgsKB1NDXzMwMDAQBxILCgdT", + "R18xMDAwEAgSCAoDQWxsEOcHKnAKDVJvb21HYW1lU3RhdGUSEgoOTm9uZV9H", + "YW1lU3RhdGUQABIMCghPbmx5SG9zdBABEhEKDVdhaXRSYXdVcGRhdGUQAhIN", + "CglXYWl0UmVhZHkQAxIJCgVQYXVzZRAEEhAKDEluT25saW5lR2FtZRAFKk4K", + "EUxvZ2luUmVzdWx0U3RhdHVzEiEKHUxvZ2luUmVzdWx0U3RhdHVzX0Jhc2VE", + "ZWZhdWx0EAASBgoCT0sQARIOCgpBY2NvdW50RXJyEAJCAkgBYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, 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.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -213,11 +214,11 @@ namespace AxibugProtobuf { new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "IsStar", "Stars" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList.Parser, new[]{ "RomID" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP.Parser, new[]{ "RomID", "SavDataList" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavID", "Uid", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "SavImg", "StateRaw" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "UploadSevInfo" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null) })); } #endregion @@ -10191,6 +10192,8 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_Mine_GameSavInfo(Protobuf_Mine_GameSavInfo other) : this() { bHadSaveData_ = other.bHadSaveData_; + savID_ = other.savID_; + uid_ = other.uid_; savDataIdx_ = other.savDataIdx_; romID_ = other.romID_; gamePlatformType_ = other.gamePlatformType_; @@ -10221,8 +10224,36 @@ namespace AxibugProtobuf { } } + /// Field number for the "SavID" field. + public const int SavIDFieldNumber = 2; + private long savID_; + /// + ///即时存档唯一ID(用于今后分享) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public long SavID { + get { return savID_; } + set { + savID_ = value; + } + } + + /// Field number for the "uid" field. + public const int UidFieldNumber = 3; + private long uid_; + /// + ///所属用户UID(用于今后分享) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public long Uid { + get { return uid_; } + set { + uid_ = value; + } + } + /// Field number for the "SavDataIdx" field. - public const int SavDataIdxFieldNumber = 2; + public const int SavDataIdxFieldNumber = 4; private int savDataIdx_; /// ///即时存档下标(其中第0个是自动存档位置) @@ -10236,7 +10267,7 @@ namespace AxibugProtobuf { } /// Field number for the "RomID" field. - public const int RomIDFieldNumber = 3; + public const int RomIDFieldNumber = 5; private int romID_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public int RomID { @@ -10247,7 +10278,7 @@ namespace AxibugProtobuf { } /// Field number for the "GamePlatformType" field. - public const int GamePlatformTypeFieldNumber = 4; + public const int GamePlatformTypeFieldNumber = 6; private global::AxibugProtobuf.RomPlatformType gamePlatformType_ = global::AxibugProtobuf.RomPlatformType.Invalid; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public global::AxibugProtobuf.RomPlatformType GamePlatformType { @@ -10258,7 +10289,7 @@ namespace AxibugProtobuf { } /// Field number for the "SavDate" field. - public const int SavDateFieldNumber = 5; + public const int SavDateFieldNumber = 7; private string savDate_ = ""; /// ///存档时间 @@ -10272,7 +10303,7 @@ namespace AxibugProtobuf { } /// Field number for the "SavName" field. - public const int SavNameFieldNumber = 6; + public const int SavNameFieldNumber = 8; private string savName_ = ""; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public string SavName { @@ -10283,7 +10314,7 @@ namespace AxibugProtobuf { } /// Field number for the "Note" field. - public const int NoteFieldNumber = 7; + public const int NoteFieldNumber = 9; private string note_ = ""; /// ///备注 @@ -10297,7 +10328,7 @@ namespace AxibugProtobuf { } /// Field number for the "SavImgUrl" field. - public const int SavImgUrlFieldNumber = 8; + public const int SavImgUrlFieldNumber = 10; private string savImgUrl_ = ""; /// ///即时存档截图Url @@ -10311,7 +10342,7 @@ namespace AxibugProtobuf { } /// Field number for the "SavUrl" field. - public const int SavUrlFieldNumber = 9; + public const int SavUrlFieldNumber = 11; private string savUrl_ = ""; /// ///即时存档下载Url @@ -10338,6 +10369,8 @@ namespace AxibugProtobuf { return true; } if (BHadSaveData != other.BHadSaveData) return false; + if (SavID != other.SavID) return false; + if (Uid != other.Uid) return false; if (SavDataIdx != other.SavDataIdx) return false; if (RomID != other.RomID) return false; if (GamePlatformType != other.GamePlatformType) return false; @@ -10353,6 +10386,8 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (BHadSaveData != false) hash ^= BHadSaveData.GetHashCode(); + if (SavID != 0L) hash ^= SavID.GetHashCode(); + if (Uid != 0L) hash ^= Uid.GetHashCode(); if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode(); if (RomID != 0) hash ^= RomID.GetHashCode(); if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) hash ^= GamePlatformType.GetHashCode(); @@ -10381,36 +10416,44 @@ namespace AxibugProtobuf { output.WriteRawTag(8); output.WriteBool(BHadSaveData); } - if (SavDataIdx != 0) { + if (SavID != 0L) { output.WriteRawTag(16); + output.WriteInt64(SavID); + } + if (Uid != 0L) { + output.WriteRawTag(24); + output.WriteInt64(Uid); + } + if (SavDataIdx != 0) { + output.WriteRawTag(32); output.WriteInt32(SavDataIdx); } if (RomID != 0) { - output.WriteRawTag(24); + output.WriteRawTag(40); output.WriteInt32(RomID); } if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) { - output.WriteRawTag(32); + output.WriteRawTag(48); output.WriteEnum((int) GamePlatformType); } if (SavDate.Length != 0) { - output.WriteRawTag(42); + output.WriteRawTag(58); output.WriteString(SavDate); } if (SavName.Length != 0) { - output.WriteRawTag(50); + output.WriteRawTag(66); output.WriteString(SavName); } if (Note.Length != 0) { - output.WriteRawTag(58); + output.WriteRawTag(74); output.WriteString(Note); } if (SavImgUrl.Length != 0) { - output.WriteRawTag(66); + output.WriteRawTag(82); output.WriteString(SavImgUrl); } if (SavUrl.Length != 0) { - output.WriteRawTag(74); + output.WriteRawTag(90); output.WriteString(SavUrl); } if (_unknownFields != null) { @@ -10426,36 +10469,44 @@ namespace AxibugProtobuf { output.WriteRawTag(8); output.WriteBool(BHadSaveData); } - if (SavDataIdx != 0) { + if (SavID != 0L) { output.WriteRawTag(16); + output.WriteInt64(SavID); + } + if (Uid != 0L) { + output.WriteRawTag(24); + output.WriteInt64(Uid); + } + if (SavDataIdx != 0) { + output.WriteRawTag(32); output.WriteInt32(SavDataIdx); } if (RomID != 0) { - output.WriteRawTag(24); + output.WriteRawTag(40); output.WriteInt32(RomID); } if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) { - output.WriteRawTag(32); + output.WriteRawTag(48); output.WriteEnum((int) GamePlatformType); } if (SavDate.Length != 0) { - output.WriteRawTag(42); + output.WriteRawTag(58); output.WriteString(SavDate); } if (SavName.Length != 0) { - output.WriteRawTag(50); + output.WriteRawTag(66); output.WriteString(SavName); } if (Note.Length != 0) { - output.WriteRawTag(58); + output.WriteRawTag(74); output.WriteString(Note); } if (SavImgUrl.Length != 0) { - output.WriteRawTag(66); + output.WriteRawTag(82); output.WriteString(SavImgUrl); } if (SavUrl.Length != 0) { - output.WriteRawTag(74); + output.WriteRawTag(90); output.WriteString(SavUrl); } if (_unknownFields != null) { @@ -10470,6 +10521,12 @@ namespace AxibugProtobuf { if (BHadSaveData != false) { size += 1 + 1; } + if (SavID != 0L) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(SavID); + } + if (Uid != 0L) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(Uid); + } if (SavDataIdx != 0) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx); } @@ -10508,6 +10565,12 @@ namespace AxibugProtobuf { if (other.BHadSaveData != false) { BHadSaveData = other.BHadSaveData; } + if (other.SavID != 0L) { + SavID = other.SavID; + } + if (other.Uid != 0L) { + Uid = other.Uid; + } if (other.SavDataIdx != 0) { SavDataIdx = other.SavDataIdx; } @@ -10551,34 +10614,42 @@ namespace AxibugProtobuf { break; } case 16: { - SavDataIdx = input.ReadInt32(); + SavID = input.ReadInt64(); break; } case 24: { - RomID = input.ReadInt32(); + Uid = input.ReadInt64(); break; } case 32: { + SavDataIdx = input.ReadInt32(); + break; + } + case 40: { + RomID = input.ReadInt32(); + break; + } + case 48: { GamePlatformType = (global::AxibugProtobuf.RomPlatformType) input.ReadEnum(); break; } - case 42: { + case 58: { SavDate = input.ReadString(); break; } - case 50: { + case 66: { SavName = input.ReadString(); break; } - case 58: { + case 74: { Note = input.ReadString(); break; } - case 66: { + case 82: { SavImgUrl = input.ReadString(); break; } - case 74: { + case 90: { SavUrl = input.ReadString(); break; } @@ -10601,34 +10672,42 @@ namespace AxibugProtobuf { break; } case 16: { - SavDataIdx = input.ReadInt32(); + SavID = input.ReadInt64(); break; } case 24: { - RomID = input.ReadInt32(); + Uid = input.ReadInt64(); break; } case 32: { + SavDataIdx = input.ReadInt32(); + break; + } + case 40: { + RomID = input.ReadInt32(); + break; + } + case 48: { GamePlatformType = (global::AxibugProtobuf.RomPlatformType) input.ReadEnum(); break; } - case 42: { + case 58: { SavDate = input.ReadString(); break; } - case 50: { + case 66: { SavName = input.ReadString(); break; } - case 58: { + case 74: { Note = input.ReadString(); break; } - case 66: { + case 82: { SavImgUrl = input.ReadString(); break; } - case 74: { + case 90: { SavUrl = input.ReadString(); break; } @@ -11098,6 +11177,8 @@ namespace AxibugProtobuf { public Protobuf_Mine_UpLoadGameSav(Protobuf_Mine_UpLoadGameSav other) : this() { romID_ = other.romID_; savDataIdx_ = other.savDataIdx_; + name_ = other.name_; + note_ = other.note_; savImg_ = other.savImg_; stateRaw_ = other.stateRaw_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); @@ -11136,8 +11217,36 @@ namespace AxibugProtobuf { } } + /// Field number for the "Name" field. + public const int NameFieldNumber = 3; + private string name_ = ""; + /// + ///存档名(留空时,服务器自动) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public string Name { + get { return name_; } + set { + name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "Note" field. + public const int NoteFieldNumber = 4; + private string note_ = ""; + /// + ///备注(留空时,服务器自动) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public string Note { + get { return note_; } + set { + note_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Field number for the "SavImg" field. - public const int SavImgFieldNumber = 3; + public const int SavImgFieldNumber = 5; private pb::ByteString savImg_ = pb::ByteString.Empty; /// ///即时存档截图模拟器原生数据 @@ -11151,7 +11260,7 @@ namespace AxibugProtobuf { } /// Field number for the "StateRaw" field. - public const int StateRawFieldNumber = 4; + public const int StateRawFieldNumber = 6; private pb::ByteString stateRaw_ = pb::ByteString.Empty; /// ///即时存档byte数据 @@ -11179,6 +11288,8 @@ namespace AxibugProtobuf { } if (RomID != other.RomID) return false; if (SavDataIdx != other.SavDataIdx) return false; + if (Name != other.Name) return false; + if (Note != other.Note) return false; if (SavImg != other.SavImg) return false; if (StateRaw != other.StateRaw) return false; return Equals(_unknownFields, other._unknownFields); @@ -11189,6 +11300,8 @@ namespace AxibugProtobuf { int hash = 1; if (RomID != 0) hash ^= RomID.GetHashCode(); if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode(); + if (Name.Length != 0) hash ^= Name.GetHashCode(); + if (Note.Length != 0) hash ^= Note.GetHashCode(); if (SavImg.Length != 0) hash ^= SavImg.GetHashCode(); if (StateRaw.Length != 0) hash ^= StateRaw.GetHashCode(); if (_unknownFields != null) { @@ -11215,12 +11328,20 @@ namespace AxibugProtobuf { output.WriteRawTag(16); output.WriteInt32(SavDataIdx); } - if (SavImg.Length != 0) { + if (Name.Length != 0) { output.WriteRawTag(26); + output.WriteString(Name); + } + if (Note.Length != 0) { + output.WriteRawTag(34); + output.WriteString(Note); + } + if (SavImg.Length != 0) { + output.WriteRawTag(42); output.WriteBytes(SavImg); } if (StateRaw.Length != 0) { - output.WriteRawTag(34); + output.WriteRawTag(50); output.WriteBytes(StateRaw); } if (_unknownFields != null) { @@ -11240,12 +11361,20 @@ namespace AxibugProtobuf { output.WriteRawTag(16); output.WriteInt32(SavDataIdx); } - if (SavImg.Length != 0) { + if (Name.Length != 0) { output.WriteRawTag(26); + output.WriteString(Name); + } + if (Note.Length != 0) { + output.WriteRawTag(34); + output.WriteString(Note); + } + if (SavImg.Length != 0) { + output.WriteRawTag(42); output.WriteBytes(SavImg); } if (StateRaw.Length != 0) { - output.WriteRawTag(34); + output.WriteRawTag(50); output.WriteBytes(StateRaw); } if (_unknownFields != null) { @@ -11263,6 +11392,12 @@ namespace AxibugProtobuf { if (SavDataIdx != 0) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx); } + if (Name.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); + } + if (Note.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Note); + } if (SavImg.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(SavImg); } @@ -11286,6 +11421,12 @@ namespace AxibugProtobuf { if (other.SavDataIdx != 0) { SavDataIdx = other.SavDataIdx; } + if (other.Name.Length != 0) { + Name = other.Name; + } + if (other.Note.Length != 0) { + Note = other.Note; + } if (other.SavImg.Length != 0) { SavImg = other.SavImg; } @@ -11315,10 +11456,18 @@ namespace AxibugProtobuf { break; } case 26: { - SavImg = input.ReadBytes(); + Name = input.ReadString(); break; } case 34: { + Note = input.ReadString(); + break; + } + case 42: { + SavImg = input.ReadBytes(); + break; + } + case 50: { StateRaw = input.ReadBytes(); break; } @@ -11345,10 +11494,18 @@ namespace AxibugProtobuf { break; } case 26: { - SavImg = input.ReadBytes(); + Name = input.ReadString(); break; } case 34: { + Note = input.ReadString(); + break; + } + case 42: { + SavImg = input.ReadBytes(); + break; + } + case 50: { StateRaw = input.ReadBytes(); break; } @@ -11389,6 +11546,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_Mine_UpLoadGameSav_RESP(Protobuf_Mine_UpLoadGameSav_RESP other) : this() { romID_ = other.romID_; + savDataIdx_ = other.savDataIdx_; uploadSevInfo_ = other.uploadSevInfo_ != null ? other.uploadSevInfo_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -11412,8 +11570,22 @@ namespace AxibugProtobuf { } } + /// Field number for the "SavDataIdx" field. + public const int SavDataIdxFieldNumber = 2; + private int savDataIdx_; + /// + ///即时存档下标(其中第0个是自动存档位置) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int SavDataIdx { + get { return savDataIdx_; } + set { + savDataIdx_ = value; + } + } + /// Field number for the "UploadSevInfo" field. - public const int UploadSevInfoFieldNumber = 2; + public const int UploadSevInfoFieldNumber = 3; private global::AxibugProtobuf.Protobuf_Mine_GameSavInfo uploadSevInfo_; /// ///上传成功的存档详情 @@ -11440,6 +11612,7 @@ namespace AxibugProtobuf { return true; } if (RomID != other.RomID) return false; + if (SavDataIdx != other.SavDataIdx) return false; if (!object.Equals(UploadSevInfo, other.UploadSevInfo)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -11448,6 +11621,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (RomID != 0) hash ^= RomID.GetHashCode(); + if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode(); if (uploadSevInfo_ != null) hash ^= UploadSevInfo.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -11469,8 +11643,12 @@ namespace AxibugProtobuf { output.WriteRawTag(8); output.WriteInt32(RomID); } + if (SavDataIdx != 0) { + output.WriteRawTag(16); + output.WriteInt32(SavDataIdx); + } if (uploadSevInfo_ != null) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteMessage(UploadSevInfo); } if (_unknownFields != null) { @@ -11486,8 +11664,12 @@ namespace AxibugProtobuf { output.WriteRawTag(8); output.WriteInt32(RomID); } + if (SavDataIdx != 0) { + output.WriteRawTag(16); + output.WriteInt32(SavDataIdx); + } if (uploadSevInfo_ != null) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteMessage(UploadSevInfo); } if (_unknownFields != null) { @@ -11502,6 +11684,9 @@ namespace AxibugProtobuf { if (RomID != 0) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID); } + if (SavDataIdx != 0) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx); + } if (uploadSevInfo_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(UploadSevInfo); } @@ -11519,6 +11704,9 @@ namespace AxibugProtobuf { if (other.RomID != 0) { RomID = other.RomID; } + if (other.SavDataIdx != 0) { + SavDataIdx = other.SavDataIdx; + } if (other.uploadSevInfo_ != null) { if (uploadSevInfo_ == null) { UploadSevInfo = new global::AxibugProtobuf.Protobuf_Mine_GameSavInfo(); @@ -11543,7 +11731,11 @@ namespace AxibugProtobuf { RomID = input.ReadInt32(); break; } - case 18: { + case 16: { + SavDataIdx = input.ReadInt32(); + break; + } + case 26: { if (uploadSevInfo_ == null) { UploadSevInfo = new global::AxibugProtobuf.Protobuf_Mine_GameSavInfo(); } @@ -11568,7 +11760,11 @@ namespace AxibugProtobuf { RomID = input.ReadInt32(); break; } - case 18: { + case 16: { + SavDataIdx = input.ReadInt32(); + break; + } + case 26: { if (uploadSevInfo_ == null) { UploadSevInfo = new global::AxibugProtobuf.Protobuf_Mine_GameSavInfo(); } diff --git a/ProtobufCore/out/CS/ProtobufAxibugEmuOnline.cs b/ProtobufCore/out/CS/ProtobufAxibugEmuOnline.cs index d12c6a4e..af7ff2fd 100644 --- a/ProtobufCore/out/CS/ProtobufAxibugEmuOnline.cs +++ b/ProtobufCore/out/CS/ProtobufAxibugEmuOnline.cs @@ -109,62 +109,63 @@ namespace AxibugProtobuf { "bmVfR2V0R2FtZVNhdkxpc3QSDQoFUm9tSUQYASABKAUicgohUHJvdG9idWZf", "TWluZV9HZXRHYW1lU2F2TGlzdF9SRVNQEg0KBVJvbUlEGAEgASgFEj4KC1Nh", "dkRhdGFMaXN0GAIgAygLMikuQXhpYnVnUHJvdG9idWYuUHJvdG9idWZfTWlu", - "ZV9HYW1lU2F2SW5mbyLiAQoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU", - "CgxiSGFkU2F2ZURhdGEYASABKAgSEgoKU2F2RGF0YUlkeBgCIAEoBRINCgVS", - "b21JRBgDIAEoBRI5ChBHYW1lUGxhdGZvcm1UeXBlGAQgASgOMh8uQXhpYnVn", - "UHJvdG9idWYuUm9tUGxhdGZvcm1UeXBlEg8KB1NhdkRhdGUYBSABKAkSDwoH", - "U2F2TmFtZRgGIAEoCRIMCgROb3RlGAcgASgJEhEKCVNhdkltZ1VybBgIIAEo", - "CRIOCgZTYXZVcmwYCSABKAkiPQoYUHJvdG9idWZfTWluZV9EZWxHYW1lU2F2", - "Eg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJZHgYAiABKAUiQgodUHJvdG9i", - "dWZfTWluZV9EZWxHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSEgoKU2F2", - "RGF0YUlkeBgCIAEoBSJiChtQcm90b2J1Zl9NaW5lX1VwTG9hZEdhbWVTYXYS", - "DQoFUm9tSUQYASABKAUSEgoKU2F2RGF0YUlkeBgCIAEoBRIOCgZTYXZJbWcY", - "AyABKAwSEAoIU3RhdGVSYXcYBCABKAwicwogUHJvdG9idWZfTWluZV9VcExv", - "YWRHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSQAoNVXBsb2FkU2V2SW5m", - "bxgCIAEoCzIpLkF4aWJ1Z1Byb3RvYnVmLlByb3RvYnVmX01pbmVfR2FtZVNh", - "dkluZm8q/wUKCUNvbW1hbmRJRBIOCgpDTURfREVGQVVMEAASDAoIQ01EX1BJ", - "TkcQARIMCghDTURfUE9ORxACEg4KCUNNRF9MT0dJThDRDxIYChNDTURfVVNF", - "Ul9PTkxJTkVMSVNUELgXEhIKDUNNRF9VU0VSX0pPSU4Q1xcSEwoOQ01EX1VT", - "RVJfTEVBVkUQ2BcSGgoVQ01EX1VTRVJfU1RBVEVfVVBEQVRFENkXEhgKE0NN", - "RF9Nb2RpZnlfTmlja05hbWUQnRgSHAoXQ01EX1VwZGF0ZV9TZWxmVXNlcklu", - "Zm8QphgSHQoYQ01EX1VwZGF0ZV9PdGhlclVzZXJJbmZvEKgYEhAKC0NNRF9D", - "SEFUTVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01EX1Jvb21fTGlz", - "dF9VcGRhdGUQiicSGAoTQ01EX1Jvb21fR2V0X1NjcmVlbhCTJxIUCg9DTURf", - "Um9vbV9DcmVhdGUQ7ScSEgoNQ01EX1Jvb21fSm9pbhDxJxITCg5DTURfUm9v", - "bV9MZWF2ZRDyJxIiCh1DTURfUm9vbV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2", - "JxIhChxDTURfUm9vbV9DaGFuZ2VQbGF5ZXJXaXRoSm95EIooEhYKEUNNRF9S", - "b29tX1dhaXRTdGVwENEoEicKIkNNRF9Sb29tX0hvc3RQbGF5ZXJfVXBkYXRl", - "U3RhdGVSYXcQ1CgSGgoVQ01EX1Jvb21fUGxheWVyX1JlYWR5ENgoEiAKG0NN", - "RF9Sb29tX1NpbmdlbF9QbGF5ZXJJbnB1dBD6LhIdChhDTURfUk9PTV9TWU5f", - "UGxheWVySW5wdXQQ/y4SDwoKQ01EX1NjcmVlbhDZNhIfChpDTURfR0FNRVNB", - "Vl9HZXRHYW1lU2F2TGlzdBDBPhIbChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2", - "EMU+Eh4KGUNNRF9HQU1FU0FWX1VwbG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dB", - "TUVfTUFSSxD1TirxAQoJRXJyb3JDb2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwK", - "CEVSUk9SX09LEAESGAoURVJST1JfUk9PTV9OT1RfRk9VTkQQChInCiNFUlJP", - "Ul9ST09NX1NMT1RfQUxSRUFETFlfSEFEX1BMQVlFUhALEiEKHUVSUk9SX1JP", - "T01fQ0FOVF9ET19DVVJSX1NUQVRFEDISHwobRVJST1JfUk9NX0RPTlRfSEFE", - "X1NBVkVEQVRBEFASHwoaRVJST1JfUk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMS", - "HAoXRVJST1JfUk9NX0RPTlRfSEFEX1NUQVIQlAMqQAoJTG9naW5UeXBlEg0K", - "CVVzZURldmljZRAAEg4KClVzZUFjY291bnQQARIUChBVc2VIYW9ZdWVBY2Nv", - "dW50EAIqpQEKCkRldmljZVR5cGUSFgoSRGV2aWNlVHlwZV9EZWZhdWx0EAAS", - "BgoCUEMQARILCgdBbmRyb2lkEAISBwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMz", - "EAUSBwoDUFM0EAYSCwoHWEJPWDM2MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlV", - "EAkSDwoLTmludGVuZG8zRFMQChIRCg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dh", - "bWVQYWRUeXBlEgwKCEtleWJvYXJkEAASEQoNR2xvYmFsR2FtZVBhZBABEg4K", - "ClRvdWNoUGFuZWwQAhIOCgpEUzNDb250cm9sEAMSDgoKRFM0Q29udHJvbBAE", - "Eg4KCkRTNUNvbnRyb2wQBRIUChBTd2l0Y2hQcm9Db250cm9sEAYSEAoMU3dp", - "dGNoSm95Q29uEAcSEgoOWEJPWDM2MENvbnRyb2wQCBISCg5YQk9YT05FQ29u", - "dHJvbBAJEhEKDVBTVml0YUNvbnRyb2wQChISCg5XaWlVUGFkQ29udHJvbBAL", - "EhQKEFdpaVJlbW90ZUNvbnRyb2wQDBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQ", - "DSqiAQoPUm9tUGxhdGZvcm1UeXBlEgsKB0ludmFsaWQQABIHCgNOZXMQARIR", - "Cg1NYXN0ZXJfU3lzdGVtEAISDQoJR2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQ", - "BBISCg5HYW1lX0JveV9Db2xvchAFEhEKDUNvbGVjb19WaXNpb24QBhILCgdT", - "Q18zMDAwEAcSCwoHU0dfMTAwMBAIEggKA0FsbBDnBypwCg1Sb29tR2FtZVN0", - "YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25seUhvc3QQARIRCg1XYWl0", - "UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoFUGF1c2UQBBIQCgxJbk9u", - "bGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1cxIhCh1Mb2dpblJlc3Vs", - "dFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAESDgoKQWNjb3VudEVychAC", - "QgJIAWIGcHJvdG8z")); + "ZV9HYW1lU2F2SW5mbyL+AQoZUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbxIU", + "CgxiSGFkU2F2ZURhdGEYASABKAgSDQoFU2F2SUQYAiABKAMSCwoDdWlkGAMg", + "ASgDEhIKClNhdkRhdGFJZHgYBCABKAUSDQoFUm9tSUQYBSABKAUSOQoQR2Ft", + "ZVBsYXRmb3JtVHlwZRgGIAEoDjIfLkF4aWJ1Z1Byb3RvYnVmLlJvbVBsYXRm", + "b3JtVHlwZRIPCgdTYXZEYXRlGAcgASgJEg8KB1Nhdk5hbWUYCCABKAkSDAoE", + "Tm90ZRgJIAEoCRIRCglTYXZJbWdVcmwYCiABKAkSDgoGU2F2VXJsGAsgASgJ", + "Ij0KGFByb3RvYnVmX01pbmVfRGVsR2FtZVNhdhINCgVSb21JRBgBIAEoBRIS", + "CgpTYXZEYXRhSWR4GAIgASgFIkIKHVByb3RvYnVmX01pbmVfRGVsR2FtZVNh", + "dl9SRVNQEg0KBVJvbUlEGAEgASgFEhIKClNhdkRhdGFJZHgYAiABKAUifgob", + "UHJvdG9idWZfTWluZV9VcExvYWRHYW1lU2F2Eg0KBVJvbUlEGAEgASgFEhIK", + "ClNhdkRhdGFJZHgYAiABKAUSDAoETmFtZRgDIAEoCRIMCgROb3RlGAQgASgJ", + "Eg4KBlNhdkltZxgFIAEoDBIQCghTdGF0ZVJhdxgGIAEoDCKHAQogUHJvdG9i", + "dWZfTWluZV9VcExvYWRHYW1lU2F2X1JFU1ASDQoFUm9tSUQYASABKAUSEgoK", + "U2F2RGF0YUlkeBgCIAEoBRJACg1VcGxvYWRTZXZJbmZvGAMgASgLMikuQXhp", + "YnVnUHJvdG9idWYuUHJvdG9idWZfTWluZV9HYW1lU2F2SW5mbyr/BQoJQ29t", + "bWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElORxABEgwKCENNRF9Q", + "T05HEAISDgoJQ01EX0xPR0lOENEPEhgKE0NNRF9VU0VSX09OTElORUxJU1QQ", + "uBcSEgoNQ01EX1VTRVJfSk9JThDXFxITCg5DTURfVVNFUl9MRUFWRRDYFxIa", + "ChVDTURfVVNFUl9TVEFURV9VUERBVEUQ2RcSGAoTQ01EX01vZGlmeV9OaWNr", + "TmFtZRCdGBIcChdDTURfVXBkYXRlX1NlbGZVc2VySW5mbxCmGBIdChhDTURf", + "VXBkYXRlX090aGVyVXNlckluZm8QqBgSEAoLQ01EX0NIQVRNU0cQoR8SEgoN", + "Q01EX1Jvb21fTGlzdBCJJxIZChRDTURfUm9vbV9MaXN0X1VwZGF0ZRCKJxIY", + "ChNDTURfUm9vbV9HZXRfU2NyZWVuEJMnEhQKD0NNRF9Sb29tX0NyZWF0ZRDt", + "JxISCg1DTURfUm9vbV9Kb2luEPEnEhMKDkNNRF9Sb29tX0xlYXZlEPInEiIK", + "HUNNRF9Sb29tX015Um9vbV9TdGF0ZV9DaGFuZ2VkEPYnEiEKHENNRF9Sb29t", + "X0NoYW5nZVBsYXllcldpdGhKb3kQiigSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ", + "0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa", + "ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs", + "X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/", + "LhIPCgpDTURfU2NyZWVuENk2Eh8KGkNNRF9HQU1FU0FWX0dldEdhbWVTYXZM", + "aXN0EME+EhsKFkNNRF9HQU1FU0FWX0RlbEdhbWVTYXYQxT4SHgoZQ01EX0dB", + "TUVTQVZfVXBsb2FkR2FtZVNhdhDKPhISCg1DTURfR0FNRV9NQVJLEPVOKvEB", + "CglFcnJvckNvZGUSEAoMRVJST1JfREVGQVVMEAASDAoIRVJST1JfT0sQARIY", + "ChRFUlJPUl9ST09NX05PVF9GT1VORBAKEicKI0VSUk9SX1JPT01fU0xPVF9B", + "TFJFQURMWV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9PTV9DQU5UX0RPX0NV", + "UlJfU1RBVEUQMhIfChtFUlJPUl9ST01fRE9OVF9IQURfU0FWRURBVEEQUBIf", + "ChpFUlJPUl9ST01fQUxSRUFEWV9IQURfU1RBUhCTAxIcChdFUlJPUl9ST01f", + "RE9OVF9IQURfU1RBUhCUAypACglMb2dpblR5cGUSDQoJVXNlRGV2aWNlEAAS", + "DgoKVXNlQWNjb3VudBABEhQKEFVzZUhhb1l1ZUFjY291bnQQAiqlAQoKRGV2", + "aWNlVHlwZRIWChJEZXZpY2VUeXBlX0RlZmF1bHQQABIGCgJQQxABEgsKB0Fu", + "ZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQBBIHCgNQUzMQBRIHCgNQUzQQBhIL", + "CgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAIEggKBFdpaVUQCRIPCgtOaW50ZW5k", + "bzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQCyqTAgoLR2FtZVBhZFR5cGUSDAoI", + "S2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1lUGFkEAESDgoKVG91Y2hQYW5lbBAC", + "Eg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRDb250cm9sEAQSDgoKRFM1Q29udHJv", + "bBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQBhIQCgxTd2l0Y2hKb3lDb24QBxIS", + "Cg5YQk9YMzYwQ29udHJvbBAIEhIKDlhCT1hPTkVDb250cm9sEAkSEQoNUFNW", + "aXRhQ29udHJvbBAKEhIKDldpaVVQYWRDb250cm9sEAsSFAoQV2lpUmVtb3Rl", + "Q29udHJvbBAMEhYKEk5pbnRlbmRvM0RTQ29udHJvbBANKqIBCg9Sb21QbGF0", + "Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcKA05lcxABEhEKDU1hc3Rlcl9TeXN0", + "ZW0QAhINCglHYW1lX0dlYXIQAxIMCghHYW1lX0JveRAEEhIKDkdhbWVfQm95", + "X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lvbhAGEgsKB1NDXzMwMDAQBxILCgdT", + "R18xMDAwEAgSCAoDQWxsEOcHKnAKDVJvb21HYW1lU3RhdGUSEgoOTm9uZV9H", + "YW1lU3RhdGUQABIMCghPbmx5SG9zdBABEhEKDVdhaXRSYXdVcGRhdGUQAhIN", + "CglXYWl0UmVhZHkQAxIJCgVQYXVzZRAEEhAKDEluT25saW5lR2FtZRAFKk4K", + "EUxvZ2luUmVzdWx0U3RhdHVzEiEKHUxvZ2luUmVzdWx0U3RhdHVzX0Jhc2VE", + "ZWZhdWx0EAASBgoCT0sQARIOCgpBY2NvdW50RXJyEAJCAkgBYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, 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.RomPlatformType), typeof(global::AxibugProtobuf.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -213,11 +214,11 @@ namespace AxibugProtobuf { new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Game_Mark_RESP), global::AxibugProtobuf.Protobuf_Game_Mark_RESP.Parser, new[]{ "RomID", "IsStar", "Stars" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList.Parser, new[]{ "RomID" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP), global::AxibugProtobuf.Protobuf_Mine_GetGameSavList_RESP.Parser, new[]{ "RomID", "SavDataList" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_GameSavInfo), global::AxibugProtobuf.Protobuf_Mine_GameSavInfo.Parser, new[]{ "BHadSaveData", "SavID", "Uid", "SavDataIdx", "RomID", "GamePlatformType", "SavDate", "SavName", "Note", "SavImgUrl", "SavUrl" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav), global::AxibugProtobuf.Protobuf_Mine_DelGameSav.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_DelGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "SavImg", "StateRaw" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "UploadSevInfo" }, null, null, null, null) + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav.Parser, new[]{ "RomID", "SavDataIdx", "Name", "Note", "SavImg", "StateRaw" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP), global::AxibugProtobuf.Protobuf_Mine_UpLoadGameSav_RESP.Parser, new[]{ "RomID", "SavDataIdx", "UploadSevInfo" }, null, null, null, null) })); } #endregion @@ -10191,6 +10192,8 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_Mine_GameSavInfo(Protobuf_Mine_GameSavInfo other) : this() { bHadSaveData_ = other.bHadSaveData_; + savID_ = other.savID_; + uid_ = other.uid_; savDataIdx_ = other.savDataIdx_; romID_ = other.romID_; gamePlatformType_ = other.gamePlatformType_; @@ -10221,8 +10224,36 @@ namespace AxibugProtobuf { } } + /// Field number for the "SavID" field. + public const int SavIDFieldNumber = 2; + private long savID_; + /// + ///即时存档唯一ID(用于今后分享) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public long SavID { + get { return savID_; } + set { + savID_ = value; + } + } + + /// Field number for the "uid" field. + public const int UidFieldNumber = 3; + private long uid_; + /// + ///所属用户UID(用于今后分享) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public long Uid { + get { return uid_; } + set { + uid_ = value; + } + } + /// Field number for the "SavDataIdx" field. - public const int SavDataIdxFieldNumber = 2; + public const int SavDataIdxFieldNumber = 4; private int savDataIdx_; /// ///即时存档下标(其中第0个是自动存档位置) @@ -10236,7 +10267,7 @@ namespace AxibugProtobuf { } /// Field number for the "RomID" field. - public const int RomIDFieldNumber = 3; + public const int RomIDFieldNumber = 5; private int romID_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public int RomID { @@ -10247,7 +10278,7 @@ namespace AxibugProtobuf { } /// Field number for the "GamePlatformType" field. - public const int GamePlatformTypeFieldNumber = 4; + public const int GamePlatformTypeFieldNumber = 6; private global::AxibugProtobuf.RomPlatformType gamePlatformType_ = global::AxibugProtobuf.RomPlatformType.Invalid; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public global::AxibugProtobuf.RomPlatformType GamePlatformType { @@ -10258,7 +10289,7 @@ namespace AxibugProtobuf { } /// Field number for the "SavDate" field. - public const int SavDateFieldNumber = 5; + public const int SavDateFieldNumber = 7; private string savDate_ = ""; /// ///存档时间 @@ -10272,7 +10303,7 @@ namespace AxibugProtobuf { } /// Field number for the "SavName" field. - public const int SavNameFieldNumber = 6; + public const int SavNameFieldNumber = 8; private string savName_ = ""; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public string SavName { @@ -10283,7 +10314,7 @@ namespace AxibugProtobuf { } /// Field number for the "Note" field. - public const int NoteFieldNumber = 7; + public const int NoteFieldNumber = 9; private string note_ = ""; /// ///备注 @@ -10297,7 +10328,7 @@ namespace AxibugProtobuf { } /// Field number for the "SavImgUrl" field. - public const int SavImgUrlFieldNumber = 8; + public const int SavImgUrlFieldNumber = 10; private string savImgUrl_ = ""; /// ///即时存档截图Url @@ -10311,7 +10342,7 @@ namespace AxibugProtobuf { } /// Field number for the "SavUrl" field. - public const int SavUrlFieldNumber = 9; + public const int SavUrlFieldNumber = 11; private string savUrl_ = ""; /// ///即时存档下载Url @@ -10338,6 +10369,8 @@ namespace AxibugProtobuf { return true; } if (BHadSaveData != other.BHadSaveData) return false; + if (SavID != other.SavID) return false; + if (Uid != other.Uid) return false; if (SavDataIdx != other.SavDataIdx) return false; if (RomID != other.RomID) return false; if (GamePlatformType != other.GamePlatformType) return false; @@ -10353,6 +10386,8 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (BHadSaveData != false) hash ^= BHadSaveData.GetHashCode(); + if (SavID != 0L) hash ^= SavID.GetHashCode(); + if (Uid != 0L) hash ^= Uid.GetHashCode(); if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode(); if (RomID != 0) hash ^= RomID.GetHashCode(); if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) hash ^= GamePlatformType.GetHashCode(); @@ -10381,36 +10416,44 @@ namespace AxibugProtobuf { output.WriteRawTag(8); output.WriteBool(BHadSaveData); } - if (SavDataIdx != 0) { + if (SavID != 0L) { output.WriteRawTag(16); + output.WriteInt64(SavID); + } + if (Uid != 0L) { + output.WriteRawTag(24); + output.WriteInt64(Uid); + } + if (SavDataIdx != 0) { + output.WriteRawTag(32); output.WriteInt32(SavDataIdx); } if (RomID != 0) { - output.WriteRawTag(24); + output.WriteRawTag(40); output.WriteInt32(RomID); } if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) { - output.WriteRawTag(32); + output.WriteRawTag(48); output.WriteEnum((int) GamePlatformType); } if (SavDate.Length != 0) { - output.WriteRawTag(42); + output.WriteRawTag(58); output.WriteString(SavDate); } if (SavName.Length != 0) { - output.WriteRawTag(50); + output.WriteRawTag(66); output.WriteString(SavName); } if (Note.Length != 0) { - output.WriteRawTag(58); + output.WriteRawTag(74); output.WriteString(Note); } if (SavImgUrl.Length != 0) { - output.WriteRawTag(66); + output.WriteRawTag(82); output.WriteString(SavImgUrl); } if (SavUrl.Length != 0) { - output.WriteRawTag(74); + output.WriteRawTag(90); output.WriteString(SavUrl); } if (_unknownFields != null) { @@ -10426,36 +10469,44 @@ namespace AxibugProtobuf { output.WriteRawTag(8); output.WriteBool(BHadSaveData); } - if (SavDataIdx != 0) { + if (SavID != 0L) { output.WriteRawTag(16); + output.WriteInt64(SavID); + } + if (Uid != 0L) { + output.WriteRawTag(24); + output.WriteInt64(Uid); + } + if (SavDataIdx != 0) { + output.WriteRawTag(32); output.WriteInt32(SavDataIdx); } if (RomID != 0) { - output.WriteRawTag(24); + output.WriteRawTag(40); output.WriteInt32(RomID); } if (GamePlatformType != global::AxibugProtobuf.RomPlatformType.Invalid) { - output.WriteRawTag(32); + output.WriteRawTag(48); output.WriteEnum((int) GamePlatformType); } if (SavDate.Length != 0) { - output.WriteRawTag(42); + output.WriteRawTag(58); output.WriteString(SavDate); } if (SavName.Length != 0) { - output.WriteRawTag(50); + output.WriteRawTag(66); output.WriteString(SavName); } if (Note.Length != 0) { - output.WriteRawTag(58); + output.WriteRawTag(74); output.WriteString(Note); } if (SavImgUrl.Length != 0) { - output.WriteRawTag(66); + output.WriteRawTag(82); output.WriteString(SavImgUrl); } if (SavUrl.Length != 0) { - output.WriteRawTag(74); + output.WriteRawTag(90); output.WriteString(SavUrl); } if (_unknownFields != null) { @@ -10470,6 +10521,12 @@ namespace AxibugProtobuf { if (BHadSaveData != false) { size += 1 + 1; } + if (SavID != 0L) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(SavID); + } + if (Uid != 0L) { + size += 1 + pb::CodedOutputStream.ComputeInt64Size(Uid); + } if (SavDataIdx != 0) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx); } @@ -10508,6 +10565,12 @@ namespace AxibugProtobuf { if (other.BHadSaveData != false) { BHadSaveData = other.BHadSaveData; } + if (other.SavID != 0L) { + SavID = other.SavID; + } + if (other.Uid != 0L) { + Uid = other.Uid; + } if (other.SavDataIdx != 0) { SavDataIdx = other.SavDataIdx; } @@ -10551,34 +10614,42 @@ namespace AxibugProtobuf { break; } case 16: { - SavDataIdx = input.ReadInt32(); + SavID = input.ReadInt64(); break; } case 24: { - RomID = input.ReadInt32(); + Uid = input.ReadInt64(); break; } case 32: { + SavDataIdx = input.ReadInt32(); + break; + } + case 40: { + RomID = input.ReadInt32(); + break; + } + case 48: { GamePlatformType = (global::AxibugProtobuf.RomPlatformType) input.ReadEnum(); break; } - case 42: { + case 58: { SavDate = input.ReadString(); break; } - case 50: { + case 66: { SavName = input.ReadString(); break; } - case 58: { + case 74: { Note = input.ReadString(); break; } - case 66: { + case 82: { SavImgUrl = input.ReadString(); break; } - case 74: { + case 90: { SavUrl = input.ReadString(); break; } @@ -10601,34 +10672,42 @@ namespace AxibugProtobuf { break; } case 16: { - SavDataIdx = input.ReadInt32(); + SavID = input.ReadInt64(); break; } case 24: { - RomID = input.ReadInt32(); + Uid = input.ReadInt64(); break; } case 32: { + SavDataIdx = input.ReadInt32(); + break; + } + case 40: { + RomID = input.ReadInt32(); + break; + } + case 48: { GamePlatformType = (global::AxibugProtobuf.RomPlatformType) input.ReadEnum(); break; } - case 42: { + case 58: { SavDate = input.ReadString(); break; } - case 50: { + case 66: { SavName = input.ReadString(); break; } - case 58: { + case 74: { Note = input.ReadString(); break; } - case 66: { + case 82: { SavImgUrl = input.ReadString(); break; } - case 74: { + case 90: { SavUrl = input.ReadString(); break; } @@ -11098,6 +11177,8 @@ namespace AxibugProtobuf { public Protobuf_Mine_UpLoadGameSav(Protobuf_Mine_UpLoadGameSav other) : this() { romID_ = other.romID_; savDataIdx_ = other.savDataIdx_; + name_ = other.name_; + note_ = other.note_; savImg_ = other.savImg_; stateRaw_ = other.stateRaw_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); @@ -11136,8 +11217,36 @@ namespace AxibugProtobuf { } } + /// Field number for the "Name" field. + public const int NameFieldNumber = 3; + private string name_ = ""; + /// + ///存档名(留空时,服务器自动) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public string Name { + get { return name_; } + set { + name_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + + /// Field number for the "Note" field. + public const int NoteFieldNumber = 4; + private string note_ = ""; + /// + ///备注(留空时,服务器自动) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public string Note { + get { return note_; } + set { + note_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); + } + } + /// Field number for the "SavImg" field. - public const int SavImgFieldNumber = 3; + public const int SavImgFieldNumber = 5; private pb::ByteString savImg_ = pb::ByteString.Empty; /// ///即时存档截图模拟器原生数据 @@ -11151,7 +11260,7 @@ namespace AxibugProtobuf { } /// Field number for the "StateRaw" field. - public const int StateRawFieldNumber = 4; + public const int StateRawFieldNumber = 6; private pb::ByteString stateRaw_ = pb::ByteString.Empty; /// ///即时存档byte数据 @@ -11179,6 +11288,8 @@ namespace AxibugProtobuf { } if (RomID != other.RomID) return false; if (SavDataIdx != other.SavDataIdx) return false; + if (Name != other.Name) return false; + if (Note != other.Note) return false; if (SavImg != other.SavImg) return false; if (StateRaw != other.StateRaw) return false; return Equals(_unknownFields, other._unknownFields); @@ -11189,6 +11300,8 @@ namespace AxibugProtobuf { int hash = 1; if (RomID != 0) hash ^= RomID.GetHashCode(); if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode(); + if (Name.Length != 0) hash ^= Name.GetHashCode(); + if (Note.Length != 0) hash ^= Note.GetHashCode(); if (SavImg.Length != 0) hash ^= SavImg.GetHashCode(); if (StateRaw.Length != 0) hash ^= StateRaw.GetHashCode(); if (_unknownFields != null) { @@ -11215,12 +11328,20 @@ namespace AxibugProtobuf { output.WriteRawTag(16); output.WriteInt32(SavDataIdx); } - if (SavImg.Length != 0) { + if (Name.Length != 0) { output.WriteRawTag(26); + output.WriteString(Name); + } + if (Note.Length != 0) { + output.WriteRawTag(34); + output.WriteString(Note); + } + if (SavImg.Length != 0) { + output.WriteRawTag(42); output.WriteBytes(SavImg); } if (StateRaw.Length != 0) { - output.WriteRawTag(34); + output.WriteRawTag(50); output.WriteBytes(StateRaw); } if (_unknownFields != null) { @@ -11240,12 +11361,20 @@ namespace AxibugProtobuf { output.WriteRawTag(16); output.WriteInt32(SavDataIdx); } - if (SavImg.Length != 0) { + if (Name.Length != 0) { output.WriteRawTag(26); + output.WriteString(Name); + } + if (Note.Length != 0) { + output.WriteRawTag(34); + output.WriteString(Note); + } + if (SavImg.Length != 0) { + output.WriteRawTag(42); output.WriteBytes(SavImg); } if (StateRaw.Length != 0) { - output.WriteRawTag(34); + output.WriteRawTag(50); output.WriteBytes(StateRaw); } if (_unknownFields != null) { @@ -11263,6 +11392,12 @@ namespace AxibugProtobuf { if (SavDataIdx != 0) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx); } + if (Name.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Name); + } + if (Note.Length != 0) { + size += 1 + pb::CodedOutputStream.ComputeStringSize(Note); + } if (SavImg.Length != 0) { size += 1 + pb::CodedOutputStream.ComputeBytesSize(SavImg); } @@ -11286,6 +11421,12 @@ namespace AxibugProtobuf { if (other.SavDataIdx != 0) { SavDataIdx = other.SavDataIdx; } + if (other.Name.Length != 0) { + Name = other.Name; + } + if (other.Note.Length != 0) { + Note = other.Note; + } if (other.SavImg.Length != 0) { SavImg = other.SavImg; } @@ -11315,10 +11456,18 @@ namespace AxibugProtobuf { break; } case 26: { - SavImg = input.ReadBytes(); + Name = input.ReadString(); break; } case 34: { + Note = input.ReadString(); + break; + } + case 42: { + SavImg = input.ReadBytes(); + break; + } + case 50: { StateRaw = input.ReadBytes(); break; } @@ -11345,10 +11494,18 @@ namespace AxibugProtobuf { break; } case 26: { - SavImg = input.ReadBytes(); + Name = input.ReadString(); break; } case 34: { + Note = input.ReadString(); + break; + } + case 42: { + SavImg = input.ReadBytes(); + break; + } + case 50: { StateRaw = input.ReadBytes(); break; } @@ -11389,6 +11546,7 @@ namespace AxibugProtobuf { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] public Protobuf_Mine_UpLoadGameSav_RESP(Protobuf_Mine_UpLoadGameSav_RESP other) : this() { romID_ = other.romID_; + savDataIdx_ = other.savDataIdx_; uploadSevInfo_ = other.uploadSevInfo_ != null ? other.uploadSevInfo_.Clone() : null; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -11412,8 +11570,22 @@ namespace AxibugProtobuf { } } + /// Field number for the "SavDataIdx" field. + public const int SavDataIdxFieldNumber = 2; + private int savDataIdx_; + /// + ///即时存档下标(其中第0个是自动存档位置) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + public int SavDataIdx { + get { return savDataIdx_; } + set { + savDataIdx_ = value; + } + } + /// Field number for the "UploadSevInfo" field. - public const int UploadSevInfoFieldNumber = 2; + public const int UploadSevInfoFieldNumber = 3; private global::AxibugProtobuf.Protobuf_Mine_GameSavInfo uploadSevInfo_; /// ///上传成功的存档详情 @@ -11440,6 +11612,7 @@ namespace AxibugProtobuf { return true; } if (RomID != other.RomID) return false; + if (SavDataIdx != other.SavDataIdx) return false; if (!object.Equals(UploadSevInfo, other.UploadSevInfo)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -11448,6 +11621,7 @@ namespace AxibugProtobuf { public override int GetHashCode() { int hash = 1; if (RomID != 0) hash ^= RomID.GetHashCode(); + if (SavDataIdx != 0) hash ^= SavDataIdx.GetHashCode(); if (uploadSevInfo_ != null) hash ^= UploadSevInfo.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -11469,8 +11643,12 @@ namespace AxibugProtobuf { output.WriteRawTag(8); output.WriteInt32(RomID); } + if (SavDataIdx != 0) { + output.WriteRawTag(16); + output.WriteInt32(SavDataIdx); + } if (uploadSevInfo_ != null) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteMessage(UploadSevInfo); } if (_unknownFields != null) { @@ -11486,8 +11664,12 @@ namespace AxibugProtobuf { output.WriteRawTag(8); output.WriteInt32(RomID); } + if (SavDataIdx != 0) { + output.WriteRawTag(16); + output.WriteInt32(SavDataIdx); + } if (uploadSevInfo_ != null) { - output.WriteRawTag(18); + output.WriteRawTag(26); output.WriteMessage(UploadSevInfo); } if (_unknownFields != null) { @@ -11502,6 +11684,9 @@ namespace AxibugProtobuf { if (RomID != 0) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(RomID); } + if (SavDataIdx != 0) { + size += 1 + pb::CodedOutputStream.ComputeInt32Size(SavDataIdx); + } if (uploadSevInfo_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(UploadSevInfo); } @@ -11519,6 +11704,9 @@ namespace AxibugProtobuf { if (other.RomID != 0) { RomID = other.RomID; } + if (other.SavDataIdx != 0) { + SavDataIdx = other.SavDataIdx; + } if (other.uploadSevInfo_ != null) { if (uploadSevInfo_ == null) { UploadSevInfo = new global::AxibugProtobuf.Protobuf_Mine_GameSavInfo(); @@ -11543,7 +11731,11 @@ namespace AxibugProtobuf { RomID = input.ReadInt32(); break; } - case 18: { + case 16: { + SavDataIdx = input.ReadInt32(); + break; + } + case 26: { if (uploadSevInfo_ == null) { UploadSevInfo = new global::AxibugProtobuf.Protobuf_Mine_GameSavInfo(); } @@ -11568,7 +11760,11 @@ namespace AxibugProtobuf { RomID = input.ReadInt32(); break; } - case 18: { + case 16: { + SavDataIdx = input.ReadInt32(); + break; + } + case 26: { if (uploadSevInfo_ == null) { UploadSevInfo = new global::AxibugProtobuf.Protobuf_Mine_GameSavInfo(); } diff --git a/ProtobufCore/proto/protobuf_AxibugEmuOnline.proto b/ProtobufCore/proto/protobuf_AxibugEmuOnline.proto index e3481ce8..feb02c89 100644 --- a/ProtobufCore/proto/protobuf_AxibugEmuOnline.proto +++ b/ProtobufCore/proto/protobuf_AxibugEmuOnline.proto @@ -466,14 +466,16 @@ message Protobuf_Mine_GetGameSavList_RESP message Protobuf_Mine_GameSavInfo { bool bHadSaveData = 1;//是否有存档 - int32 SavDataIdx = 2;//即时存档下标(其中第0个是自动存档位置) - int32 RomID = 3; - RomPlatformType GamePlatformType = 4; - string SavDate = 5;//存档时间 - string SavName = 6; - string Note = 7;//备注 - string SavImgUrl = 8;//即时存档截图Url - string SavUrl = 9;//即时存档下载Url + int64 SavID = 2;//即时存档唯一ID(用于今后分享) + int64 uid = 3;//所属用户UID(用于今后分享) + int32 SavDataIdx = 4;//即时存档下标(其中第0个是自动存档位置) + int32 RomID = 5; + RomPlatformType GamePlatformType = 6; + string SavDate = 7;//存档时间 + string SavName = 8; + string Note = 9;//备注 + string SavImgUrl = 10;//即时存档截图Url + string SavUrl = 11;//即时存档下载Url } message Protobuf_Mine_DelGameSav @@ -492,12 +494,15 @@ message Protobuf_Mine_UpLoadGameSav { int32 RomID = 1;//RomID int32 SavDataIdx = 2;//即时存档下标(其中第0个是自动存档位置) - bytes SavImg = 3;//即时存档截图模拟器原生数据 - bytes StateRaw = 4;//即时存档byte数据 + string Name = 3;//存档名(留空时,服务器自动) + string Note = 4;//备注(留空时,服务器自动) + bytes SavImg = 5;//即时存档截图模拟器原生数据 + bytes StateRaw = 6;//即时存档byte数据 } message Protobuf_Mine_UpLoadGameSav_RESP { int32 RomID = 1;//RomID - Protobuf_Mine_GameSavInfo UploadSevInfo = 2;//上传成功的存档详情 + int32 SavDataIdx = 2;//即时存档下标(其中第0个是自动存档位置) + Protobuf_Mine_GameSavInfo UploadSevInfo = 3;//上传成功的存档详情 } \ No newline at end of file