diff --git a/AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNSIO.cs b/AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNSIO.cs index 933682de..82afdf39 100644 --- a/AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNSIO.cs +++ b/AxibugEmuOnline.Client/Assets/Plugins/AxiNSApi/AxiNSIO.cs @@ -2,10 +2,7 @@ using nn.fs; #endif -using nn.fs; using System.Collections.Generic; -using System.Linq; -using System.Text.RegularExpressions; public class AxiNSIO { diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab index 232826e5..fc677e08 100644 --- a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab +++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/OptionUI.prefab @@ -682,9 +682,9 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchoredPosition: {x: 25, y: 25} m_SizeDelta: {x: 50, y: 50} - m_Pivot: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7825136160635457043 CanvasRenderer: m_ObjectHideFlags: 0 @@ -1171,9 +1171,9 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchoredPosition: {x: 25, y: 25} m_SizeDelta: {x: 50, y: 50} - m_Pivot: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &6387250980529666459 CanvasRenderer: m_ObjectHideFlags: 0 @@ -1377,10 +1377,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 1100500336380202360} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 170, y: -333} - m_SizeDelta: {x: 300, y: 26} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &7910447946506517051 CanvasRenderer: @@ -1477,9 +1477,9 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchoredPosition: {x: 25, y: 25} m_SizeDelta: {x: 50, y: 50} - m_Pivot: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &6018890508858230420 CanvasRenderer: m_ObjectHideFlags: 0 @@ -1667,10 +1667,10 @@ RectTransform: - {fileID: 905458728127029103} m_Father: {fileID: 1100500336380202360} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 170, y: -160} - m_SizeDelta: {x: 300, y: 300} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &2558056583130529771 MonoBehaviour: @@ -3058,9 +3058,9 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchoredPosition: {x: 25, y: 25} m_SizeDelta: {x: 50, y: 50} - m_Pivot: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &6969397185295608833 CanvasRenderer: m_ObjectHideFlags: 0 @@ -3116,7 +3116,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &1100500336380202360 RectTransform: m_ObjectHideFlags: 0 @@ -3134,10 +3134,10 @@ RectTransform: - {fileID: 6878964193873653430} m_Father: {fileID: 4478785627166277610} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 165, y: -443} - m_SizeDelta: {x: 330, y: 356} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &20405450890320071 MonoBehaviour: diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/AxiIO/AxiIO.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/AxiIO/AxiIO.cs index a902398c..c621882a 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/AxiIO/AxiIO.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/AxiIO/AxiIO.cs @@ -1,5 +1,4 @@ -using Sony.Vita.Dialog; -using System.Collections.Generic; +using System.Collections.Generic; namespace AxiIO { diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/Filter/RLPro/RLPRO_CRT.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/Filter/RLPro/RLPRO_CRT.cs index 393879d0..ca28ecdc 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/Filter/RLPro/RLPRO_CRT.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/Filter/RLPro/RLPRO_CRT.cs @@ -40,7 +40,8 @@ namespace AxibugEmuOnline.Client.Filters public FloatParameter hardScan = -8.0f; [Range(-3f, 1f)] public FloatParameter hardPix = -3.0f; - public Vector2Parameter warp = new Vector2(0.03125f, 0.04166f); + public FloatParameter warpX = 0.03125f; + public FloatParameter warpY = 0.04166f; [Range(1f, 16f)] public FloatParameter resScale = 4f; [Range(0.5f, 5f)] @@ -131,14 +132,14 @@ namespace AxibugEmuOnline.Client.Filters m_tvEffectMat.EnableKeyword("_CubicDistortion"); break; } - m_tvEffectMat.SetFloat("maskDark", maskDark.GetValue()); - m_tvEffectMat.SetFloat("maskLight", maskLight.GetValue()); - m_tvEffectMat.SetFloat("hardScan", hardScan.GetValue()); - m_tvEffectMat.SetFloat("hardPix", hardPix.GetValue()); - m_tvEffectMat.SetVector("warp", warp.GetValue()); - m_tvEffectMat.SetFloat("resScale", resScale.GetValue()); - m_tvEffectMat.SetFloat("scale", scale.GetValue()); - m_tvEffectMat.SetFloat("fade", fade.GetValue()); + m_tvEffectMat.SetFloat("maskDark", maskDark); + m_tvEffectMat.SetFloat("maskLight", maskLight); + m_tvEffectMat.SetFloat("hardScan", hardScan); + m_tvEffectMat.SetFloat("hardPix", hardPix); + m_tvEffectMat.SetVector("warp", new Vector4(warpX, warpY)); + m_tvEffectMat.SetFloat("resScale", resScale); + m_tvEffectMat.SetFloat("scale", scale); + m_tvEffectMat.SetFloat("fade", fade); Graphics.Blit(src, rt, m_tvEffectMat); diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SavCloudApi.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SavCloudApi.cs index 49c63643..484c7c38 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SavCloudApi.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SavCloudApi.cs @@ -70,7 +70,7 @@ namespace AxibugEmuOnline.Client SavDataIdx = SavDataIdx }; App.log.Info($"SendDelGameSavList"); - App.network.SendToServer((int)CommandID.CmdGamesavGetGameSavList, ProtoBufHelper.Serizlize(req)); + App.network.SendToServer((int)CommandID.CmdGamesavDelGameSav, ProtoBufHelper.Serizlize(req)); } void RecvDelGameSavList(byte[] reqData) @@ -105,7 +105,7 @@ namespace AxibugEmuOnline.Client App.log.Info($"上传即时存档数据 原数据大小:{RawData.Length},压缩后;{compressRawData.Length}"); App.log.Info($"上传截图 原数据大小:{SavImgData.Length},压缩后;{compressImgData.Length}"); - App.network.SendToServer((int)CommandID.CmdGamesavGetGameSavList, ProtoBufHelper.Serizlize(req)); + App.network.SendToServer((int)CommandID.CmdGamesavUploadGameSav, ProtoBufHelper.Serizlize(req)); } void RecvUpLoadGameSav(byte[] reqData) diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFile.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFile.cs index 11080cb6..da83eb70 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFile.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFile.cs @@ -72,6 +72,7 @@ namespace AxibugEmuOnline.Client SlotIndex = slotIndex; FSM = new SimpleFSM(this); FSM.AddState(); + FSM.AddState();//? FSM.AddState(); FSM.AddState(); FSM.AddState(); diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/CheckingNetworkState.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/CheckingNetworkState.cs index 70f95926..8c3f3157 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/CheckingNetworkState.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/CheckingNetworkState.cs @@ -11,7 +11,7 @@ namespace AxibugEmuOnline.Client { public override void OnUpdate() { - if (App.network.isConnected) + if (App.user.IsLoggedIn) { FSM.ChangeState(); } diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/CheckingState.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/CheckingState.cs index 5ae92843..20c8a71f 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/CheckingState.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/CheckingState.cs @@ -38,7 +38,7 @@ namespace AxibugEmuOnline.Client if (romID != Host.RomID) return; NetData = savSlotData[Host.SlotIndex]; - if (NetData == null) //云存档不存在,上传本地存档 + if (!NetData.BHadSaveData) //云存档不存在,上传本地存档 { FSM.ChangeState(); } diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/UploadingState.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/UploadingState.cs index 8276411f..73bdae71 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/UploadingState.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/SaveSlotManager/SaveFileSyncStates/UploadingState.cs @@ -10,6 +10,11 @@ namespace AxibugEmuOnline.Client { Host.CloudAPI.OnUploadedSavData += Api_OnUploadedSavData; + if (Host.IsEmpty) + { + FSM.ChangeState(); + return; + } Host.GetSavData(out byte[] savData, out byte[] screenData); Host.CloudAPI.SendUpLoadGameSav(Host.RomID, Host.SlotIndex, Host.Sequecen, savData, screenData); } diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/MonoCom/TickLoop.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/MonoCom/TickLoop.cs index 7b6b51da..858e1ad7 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/MonoCom/TickLoop.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/MonoCom/TickLoop.cs @@ -46,7 +46,7 @@ namespace AxibugEmuOnline.Client float LastLoopTime_15s; private void Update() { - NetMsg.Instance.DequeueNesMsg(); + NetMsg.Instance.NextNetEvent(); LoopAction_tick?.Invoke(); diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Network/NetMsg.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Network/NetMsg.cs index 307561e1..a8f5c314 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Network/NetMsg.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Network/NetMsg.cs @@ -1,4 +1,5 @@ using AxibugEmuOnline.Client.ClientCore; +using AxibugEmuOnline.Client.Event; using AxibugProtobuf; using System; using System.Collections.Generic; @@ -15,11 +16,15 @@ namespace AxibugEmuOnline.Client.Network private Dictionary> netEventDic = new Dictionary>(128); private Queue> queueNetMsg = new Queue>(); + public static object lockQueueNetMsg = new object(); + + private Queue queueEventFromNet = new Queue(); + public static object lockQueueEventFromNet = new object(); + private NetMsg() { } - public static object lockQueueObj = new object(); #region RegisterMsgEvent @@ -59,13 +64,56 @@ namespace AxibugEmuOnline.Client.Network netEventDic[cmd].Remove(callback); if (netEventDic[cmd].Count == 0) netEventDic.Remove(cmd); } - } + } #endregion - - #region PostEvent - public void EnqueueNesMsg(int cmd, int ERRCODE, byte[] arg) + + + public void NextNetEvent() { - lock (lockQueueObj) + DequeueNesMsg(); + DequeueEventFromNet(); + } + + #region PostEventFromNet + + public void EnqueueEventFromNet(Action act) + { + lock (lockQueueEventFromNet) + { + queueEventFromNet.Enqueue(act); + } + } + + public void DequeueEventFromNet() + { + lock (lockQueueEventFromNet) + { + while (queueEventFromNet.Count > 0) + { + var msgData = queueEventFromNet.Dequeue(); + PostNetEventFromNet(msgData); + } + } + } + + void PostNetEventFromNet(Action act) + { + try + { + act?.Invoke(); + } + catch(Exception ex) + { + App.log.Error(ex.ToString()); + } + } + #endregion + + #region PostNetMsg + + public void EnqueueNetMsg(int cmd, int ERRCODE, byte[] arg) + { + lock (lockQueueNetMsg) { queueNetMsg.Enqueue(new ValueTuple(cmd, ERRCODE, arg)); } @@ -73,7 +121,7 @@ namespace AxibugEmuOnline.Client.Network public void DequeueNesMsg() { - lock (lockQueueObj) + lock (lockQueueNetMsg) { while (queueNetMsg.Count > 0) { diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Network/NetworkHelper.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Network/NetworkHelper.cs index 9ea8343d..6c60c36f 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Network/NetworkHelper.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Network/NetworkHelper.cs @@ -15,11 +15,11 @@ namespace AxibugEmuOnline.Client.Network { public NetworkHelper() { + OnConnected += NetworkConnected; //指定接收服务器数据事件 OnReceiveData += GetDataCallBack; //断开连接 OnClose += OnConnectClose; - OnConnected += NetworkConnected; //网络库调试信息输出事件,用于打印网络内容 OnLogOut += NetworkDeBugLog; } @@ -39,7 +39,17 @@ namespace AxibugEmuOnline.Client.Network /// const int ReConnectTryTime = 1000; - public void NetworkConnected(bool IsConnect) + void NetworkConnected(bool IsConnect) + { + NetMsg.Instance.EnqueueEventFromNet(() => NetworkConnected_Delegate(IsConnect)); + } + + void OnConnectClose() + { + NetMsg.Instance.EnqueueEventFromNet(() => OnConnectClose_Delegate()); + } + + void NetworkConnected_Delegate(bool IsConnect) { NetworkDeBugLog($"NetworkConnected:{IsConnect}"); if (IsConnect) @@ -63,7 +73,7 @@ namespace AxibugEmuOnline.Client.Network } } - public void NetworkDeBugLog(string str) + void NetworkDeBugLog(string str) { //用于Unity内的输出 //Debug.Log("NetCoreDebug >> "+str); @@ -76,7 +86,7 @@ namespace AxibugEmuOnline.Client.Network /// 协议ID /// 错误编号 /// 业务数据 - public void GetDataCallBack(int CMDID, int ERRCODE, byte[] data) + void GetDataCallBack(int CMDID, int ERRCODE, byte[] data) { //NetworkDeBugLog("收到消息 CMDID =>" + CMDID + " ERRCODE =>" + ERRCODE + " 数据长度=>" + data.Length); try @@ -86,7 +96,7 @@ namespace AxibugEmuOnline.Client.Network if (CMDID <= (int)CommandID.CmdPong) NetMsg.Instance.PostNetMsgEvent(CMDID, ERRCODE, data); else//加入队列,主线程来取 - NetMsg.Instance.EnqueueNesMsg(CMDID, ERRCODE, data); + NetMsg.Instance.EnqueueNetMsg(CMDID, ERRCODE, data); } catch (Exception ex) { @@ -97,7 +107,7 @@ namespace AxibugEmuOnline.Client.Network /// /// 关闭连接 /// - public void OnConnectClose() + void OnConnectClose_Delegate() { NetworkDeBugLog("OnConnectClose"); Eventer.Instance.PostEvent(EEvent.OnLossLoginState); diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Protobuf/ProtobufAxibugEmuOnline.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Protobuf/ProtobufAxibugEmuOnline.cs index ad930a8b..c986acf6 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Protobuf/ProtobufAxibugEmuOnline.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Protobuf/ProtobufAxibugEmuOnline.cs @@ -141,34 +141,35 @@ namespace AxibugProtobuf { "bnB1dBD6LhIdChhDTURfUk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01E", "X1NjcmVlbhDZNhIfChpDTURfR0FNRVNBVl9HZXRHYW1lU2F2TGlzdBDBPhIb", "ChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2EMU+Eh4KGUNNRF9HQU1FU0FWX1Vw", - "bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TirxAQoJRXJyb3JD", + "bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TiqOAgoJRXJyb3JD", "b2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAESGAoURVJST1Jf", "Uk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NMT1RfQUxSRUFETFlf", "SEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRF", - "EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASHwoaRVJST1Jf", - "Uk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMSHAoXRVJST1JfUk9NX0RPTlRfSEFE", - "X1NUQVIQlAMqQAoJTG9naW5UeXBlEg0KCVVzZURldmljZRAAEg4KClVzZUFj", - "Y291bnQQARIUChBVc2VIYW9ZdWVBY2NvdW50EAIqpQEKCkRldmljZVR5cGUS", - "FgoSRGV2aWNlVHlwZV9EZWZhdWx0EAASBgoCUEMQARILCgdBbmRyb2lkEAIS", - "BwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMzEAUSBwoDUFM0EAYSCwoHWEJPWDM2", - "MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlVEAkSDwoLTmludGVuZG8zRFMQChIR", - "Cg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dhbWVQYWRUeXBlEgwKCEtleWJvYXJk", - "EAASEQoNR2xvYmFsR2FtZVBhZBABEg4KClRvdWNoUGFuZWwQAhIOCgpEUzND", - "b250cm9sEAMSDgoKRFM0Q29udHJvbBAEEg4KCkRTNUNvbnRyb2wQBRIUChBT", - "d2l0Y2hQcm9Db250cm9sEAYSEAoMU3dpdGNoSm95Q29uEAcSEgoOWEJPWDM2", - "MENvbnRyb2wQCBISCg5YQk9YT05FQ29udHJvbBAJEhEKDVBTVml0YUNvbnRy", - "b2wQChISCg5XaWlVUGFkQ29udHJvbBALEhQKEFdpaVJlbW90ZUNvbnRyb2wQ", - "DBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQDSqDAgoPUm9tUGxhdGZvcm1UeXBl", - "EgsKB0ludmFsaWQQABIHCgNOZXMQARIRCg1NYXN0ZXJfU3lzdGVtEAISDQoJ", - "R2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQBBISCg5HYW1lX0JveV9Db2xvchAF", - "EhEKDUNvbGVjb19WaXNpb24QBhILCgdTQ18zMDAwEAcSCwoHU0dfMTAwMBAI", - "EgoKBk5FT0dFTxAUEgcKA0lHUxAVEggKBENQUzEQFhIICgRDUFMyEBcSDgoK", - "QXJjYWRlX09MRBAeEg8KC1dvbmRlcl9Td2FuECgSFQoRV29uZGVyX1N3YW5f", - "Q29sb3IQKRIICgNBbGwQ5wcqcAoNUm9vbUdhbWVTdGF0ZRISCg5Ob25lX0dh", - "bWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAESEQoNV2FpdFJhd1VwZGF0ZRACEg0K", - "CVdhaXRSZWFkeRADEgkKBVBhdXNlEAQSEAoMSW5PbmxpbmVHYW1lEAUqTgoR", - "TG9naW5SZXN1bHRTdGF0dXMSIQodTG9naW5SZXN1bHRTdGF0dXNfQmFzZURl", - "ZmF1bHQQABIGCgJPSxABEg4KCkFjY291bnRFcnIQAkICSAFiBnByb3RvMw==")); + "EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASGwoXRVJST1Jf", + "Uk9NX0ZBSUxfU0FWRURBVEEQURIfChpFUlJPUl9ST01fQUxSRUFEWV9IQURf", + "U1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCUAypACglMb2dp", + "blR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBABEhQKEFVzZUhh", + "b1l1ZUFjY291bnQQAiqlAQoKRGV2aWNlVHlwZRIWChJEZXZpY2VUeXBlX0Rl", + "ZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQ", + "BBIHCgNQUzMQBRIHCgNQUzQQBhILCgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAI", + "EggKBFdpaVUQCRIPCgtOaW50ZW5kbzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQ", + "CyqTAgoLR2FtZVBhZFR5cGUSDAoIS2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1l", + "UGFkEAESDgoKVG91Y2hQYW5lbBACEg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRD", + "b250cm9sEAQSDgoKRFM1Q29udHJvbBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQ", + "BhIQCgxTd2l0Y2hKb3lDb24QBxISCg5YQk9YMzYwQ29udHJvbBAIEhIKDlhC", + "T1hPTkVDb250cm9sEAkSEQoNUFNWaXRhQ29udHJvbBAKEhIKDldpaVVQYWRD", + "b250cm9sEAsSFAoQV2lpUmVtb3RlQ29udHJvbBAMEhYKEk5pbnRlbmRvM0RT", + "Q29udHJvbBANKoMCCg9Sb21QbGF0Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcK", + "A05lcxABEhEKDU1hc3Rlcl9TeXN0ZW0QAhINCglHYW1lX0dlYXIQAxIMCghH", + "YW1lX0JveRAEEhIKDkdhbWVfQm95X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lv", + "bhAGEgsKB1NDXzMwMDAQBxILCgdTR18xMDAwEAgSCgoGTkVPR0VPEBQSBwoD", + "SUdTEBUSCAoEQ1BTMRAWEggKBENQUzIQFxIOCgpBcmNhZGVfT0xEEB4SDwoL", + "V29uZGVyX1N3YW4QKBIVChFXb25kZXJfU3dhbl9Db2xvchApEggKA0FsbBDn", + "BypwCg1Sb29tR2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25s", + "eUhvc3QQARIRCg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoF", + "UGF1c2UQBBIQCgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1", + "cxIhCh1Mb2dpblJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAES", + "DgoKQWNjb3VudEVychACQgJIAWIGcHJvdG8z")); 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[] { @@ -395,6 +396,10 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("ERROR_ROM_DONT_HAD_SAVEDATA")] ErrorRomDontHadSavedata = 80, /// + ///即时存档不存在 + /// + [pbr::OriginalName("ERROR_ROM_FAIL_SAVEDATA")] ErrorRomFailSavedata = 81, + /// ///已经收藏 /// [pbr::OriginalName("ERROR_ROM_ALREADY_HAD_STAR")] ErrorRomAlreadyHadStar = 403, diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Switch.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Switch.meta new file mode 100644 index 00000000..32ccd77a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Switch.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e6de7f0cc4868434f96bf3580893e149 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Switch/SwitchCommon.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Switch/SwitchCommon.cs.meta new file mode 100644 index 00000000..d05999fe --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Switch/SwitchCommon.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1877afb89575e564abcecf61e28cf7ce \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/OptionUI/OptionUI.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/OptionUI/OptionUI.cs index 029ae216..0b242694 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/OptionUI/OptionUI.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/OptionUI/OptionUI.cs @@ -1,5 +1,7 @@ using AxibugEmuOnline.Client.ClientCore; using DG.Tweening; +using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; using System; using System.Collections.Generic; using UnityEngine; @@ -84,8 +86,34 @@ namespace AxibugEmuOnline.Client private void UpdateMenuState() { + if (!m_bPoped) return; + if (checkDirty()) - { + { + Canvas.ForceUpdateCanvases(); + + if (m_popTween != null) + { + Vector2 end = new Vector2(-MenuRoot.rect.width, MenuRoot.anchoredPosition.y); + m_popTween.ChangeEndValue(end, false); + } + else + { + Vector2 end = new Vector2(-MenuRoot.rect.width, MenuRoot.anchoredPosition.y); + var topParent = m_parent; + while (topParent != null && topParent.m_parent != null) + { + topParent = topParent.m_parent; + } + if (topParent != null) + { + topParent.MenuRoot.anchoredPosition = end; + } + else + { + MenuRoot.anchoredPosition = end; + } + } RebuildSelectIndex(); } } @@ -146,8 +174,10 @@ namespace AxibugEmuOnline.Client } return dirty; - } - + } + + private TweenerCore m_popTween; + private TweenerCore m_hideTween; CommandListener.ScheduleType? m_lastCS; private Action m_onClose; @@ -167,8 +197,14 @@ namespace AxibugEmuOnline.Client SelectBorder.Target = optionUI_MenuItem.transform as RectTransform; } + public void Pop(List menus, int defaultIndex = 0, Action onClose = null) where T : InternalOptionMenu - { + { + if (m_hideTween != null) + { + m_hideTween.Kill(true); + } + m_onClose = onClose; ReleaseRuntimeMenus(); foreach (var menu in menus) CreateRuntimeMenuItem(menu); @@ -187,10 +223,11 @@ namespace AxibugEmuOnline.Client if (!m_bPoped) { + m_bPoped = true; Vector2 start = new Vector2(0, MenuRoot.anchoredPosition.y); Vector2 end = new Vector2(-MenuRoot.rect.width, MenuRoot.anchoredPosition.y); - DOTween.To( + m_popTween = DOTween.To( () => start, (value) => { @@ -214,6 +251,7 @@ namespace AxibugEmuOnline.Client end, 0.3f ).SetEase(Ease.OutCubic); + m_popTween.onComplete = () => m_popTween = null; m_lastCS = CommandDispatcher.Instance.Mode; CommandDispatcher.Instance.Mode = CommandListener.ScheduleType.Normal; @@ -236,15 +274,17 @@ namespace AxibugEmuOnline.Client Vector2 start = new Vector2(-MenuRoot.rect.width, MenuRoot.anchoredPosition.y); Vector2 end = new Vector2(0, MenuRoot.anchoredPosition.y); - ReleaseRuntimeMenus(); - m_runtimeMenuItems.Clear(); - SelectBorder.gameObject.SetActiveEx(false); CommandDispatcher.Instance.UnRegistController(this); Canvas.ForceUpdateCanvases(); - DOTween.To( + if (m_popTween != null) + { + m_popTween.Kill(true); + } + + m_hideTween = DOTween.To( () => start, (value) => { @@ -268,6 +308,12 @@ namespace AxibugEmuOnline.Client end, 0.3f ).SetEase(Ease.OutCubic); + m_hideTween.onComplete = () => + { + ReleaseRuntimeMenus(); + m_runtimeMenuItems.Clear(); + m_hideTween = null; + }; m_bPoped = false; diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/Tools/Selector.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/Tools/Selector.cs index 3957b6df..dc150d97 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/Tools/Selector.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/Tools/Selector.cs @@ -15,7 +15,6 @@ namespace AxibugEmuOnline.Client private RectTransform m_rect => transform as RectTransform; private RectTransform m_target; - private TweenerCore m_trackTween; public RectTransform Target { @@ -37,7 +36,6 @@ namespace AxibugEmuOnline.Client var itemUIRect = m_target.transform as RectTransform; m_rect.pivot = itemUIRect.pivot; - m_rect.sizeDelta = itemUIRect.rect.size; m_rect.SetAsLastSibling(); animator.SetTrigger("reactive"); @@ -47,12 +45,30 @@ namespace AxibugEmuOnline.Client m_trackTween.Kill(); m_trackTween = null; } - m_trackTween = DOTween.To(() => m_rect.position, (_value) => m_rect.position = _value, itemUIRect.position, 0.125f); - m_trackTween.onComplete = () => m_trackTween = null; + + var startSize = m_rect.sizeDelta; + var startPos = m_rect.position; + + m_trackTween = DOTween.To( + () => 0f, + (_value) => + { + var progress = _value; + m_rect.position = Vector3.Lerp(startPos, itemUIRect.position, progress); + m_rect.sizeDelta = Vector2.Lerp(startSize, itemUIRect.rect.size, progress); + }, + 1f, + 0.125f); + m_trackTween.onComplete = () => + { + m_trackTween = null; + }; } } - private bool m_active; + private bool m_active; + private TweenerCore m_trackTween; + public bool Active { get => m_active; @@ -73,12 +89,17 @@ namespace AxibugEmuOnline.Client } } - private void LateUpdate() - { - if (m_trackTween != null && m_trackTween.endValue != Target.position) - { - m_trackTween.ChangeEndValue(Target.position, true); - } + struct TrackTarget + { + Vector3 pos; + Vector2 size; + } + + struct TrackTargetOption : IPlugOptions + { + public void Reset() + { + } } } } diff --git a/AxibugEmuOnline.Server/Common/Config.cs b/AxibugEmuOnline.Server/Common/Config.cs index 8fedb2e3..b3c2af2e 100644 --- a/AxibugEmuOnline.Server/Common/Config.cs +++ b/AxibugEmuOnline.Server/Common/Config.cs @@ -21,7 +21,7 @@ namespace AxibugEmuOnline.Server.Common public string ClientVersion { get; set; } public string AesKey { get; set; } public string AesIv { get; set; } - public string savDataPath { get; set; } + public string savDataPath { get; set; } = ""; } diff --git a/AxibugEmuOnline.Server/Common/Helper.cs b/AxibugEmuOnline.Server/Common/Helper.cs index a2a14638..9bf42cff 100644 --- a/AxibugEmuOnline.Server/Common/Helper.cs +++ b/AxibugEmuOnline.Server/Common/Helper.cs @@ -1,4 +1,5 @@ -using System.Security.Cryptography; +using System.IO.Compression; +using System.Security.Cryptography; using System.Text; namespace AxibugEmuOnline.Server.Common @@ -20,6 +21,28 @@ namespace AxibugEmuOnline.Server.Common return Convert.ToInt64(ts.TotalSeconds); } + + public static byte[] CompressByteArray(byte[] bytesToCompress) + { + using (var compressedMemoryStream = new System.IO.MemoryStream()) + using (var gzipStream = new GZipStream(compressedMemoryStream, CompressionMode.Compress)) + { + gzipStream.Write(bytesToCompress, 0, bytesToCompress.Length); + gzipStream.Close(); + return compressedMemoryStream.ToArray(); + } + } + + public static byte[] DecompressByteArray(byte[] compressedBytes) + { + using (var compressedMemoryStream = new System.IO.MemoryStream(compressedBytes)) + using (var gzipStream = new GZipStream(compressedMemoryStream, CompressionMode.Decompress)) + using (var resultMemoryStream = new System.IO.MemoryStream()) + { + gzipStream.CopyTo(resultMemoryStream); + return resultMemoryStream.ToArray(); + } + } public static string FileMD5Hash(string filePath) { using (var md5 = MD5.Create()) diff --git a/AxibugEmuOnline.Server/Manager/SavDataManager.cs b/AxibugEmuOnline.Server/Manager/SavDataManager.cs index 4c8b7a61..603de20e 100644 --- a/AxibugEmuOnline.Server/Manager/SavDataManager.cs +++ b/AxibugEmuOnline.Server/Manager/SavDataManager.cs @@ -25,11 +25,10 @@ namespace AxibugEmuOnline.Server.Manager Protobuf_Mine_GetGameSavList_RESP respData = new Protobuf_Mine_GetGameSavList_RESP(); respData.RomID = msg.RomID; - Protobuf_Mine_GameSavInfo nulldata = null; - respData.SavDataList.Add(nulldata); - respData.SavDataList.Add(nulldata); - respData.SavDataList.Add(nulldata); - respData.SavDataList.Add(nulldata); + respData.SavDataList.Add(new Protobuf_Mine_GameSavInfo() { BHadSaveData = false, SavDataIdx = 0 }); + respData.SavDataList.Add(new Protobuf_Mine_GameSavInfo() { BHadSaveData = false, SavDataIdx = 1 }); + respData.SavDataList.Add(new Protobuf_Mine_GameSavInfo() { BHadSaveData = false, SavDataIdx = 2 }); + respData.SavDataList.Add(new Protobuf_Mine_GameSavInfo() { BHadSaveData = false, SavDataIdx = 3 }); string query = "SELECT `id`,`uid`,`romid`, `savidx`, `savName`,`savNote`, `savUrl`,`savImgUrl`, `savDate`, `savSequence` from user_gamesavedata where uid = ?uid and romid = ?romid"; bool bHad = false; @@ -44,28 +43,24 @@ namespace AxibugEmuOnline.Server.Manager { while (reader.Read()) { - Protobuf_Mine_GameSavInfo resp = 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(), - Sequence = reader.GetInt32(9), - GamePlatformType = AppSrv.g_GameShareMgr.GetRomPlatformType(msg.RomID) - }; - respData.SavDataList[resp.SavDataIdx] = resp; + int savidx = reader.GetInt32(3); + respData.SavDataList[savidx].BHadSaveData = true; + respData.SavDataList[savidx].SavID = reader.GetInt64(0); + respData.SavDataList[savidx].Uid = reader.GetInt64(1); + respData.SavDataList[savidx].RomID = reader.GetInt32(2); + respData.SavDataList[savidx].SavDataIdx = savidx; + respData.SavDataList[savidx].SavName = reader.GetString(4); + respData.SavDataList[savidx].Note = reader.GetString(5); + respData.SavDataList[savidx].SavUrl = reader.GetString(6); + respData.SavDataList[savidx].SavImgUrl = reader.GetString(7); + respData.SavDataList[savidx].SavDate = reader.GetDateTime(8).ToString(); + respData.SavDataList[savidx].Sequence = reader.GetInt32(9); + respData.SavDataList[savidx].GamePlatformType = AppSrv.g_GameShareMgr.GetRomPlatformType(msg.RomID); } } } } - respData.RomID = msg.RomID; AppSrv.g_ClientMgr.ClientSend(_c, (int)CommandID.CmdGamesavGetGameSavList, (int)ErrorCode.ErrorOk, ProtoBufHelper.Serizlize(respData)); } @@ -170,12 +165,15 @@ namespace AxibugEmuOnline.Server.Manager { 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); + GetNewRomPath(_c.UID, ptype, msg.RomID, msg.SavDataIdx, $"{msg.SavDataIdx}.sav", out string rompath); + GetNewRomPath(_c.UID, ptype, msg.RomID, msg.SavDataIdx, $"{msg.SavDataIdx}.jpg", out string imgpath); - if (!CreateFile(Path.Combine(Config.cfg.savDataPath, rompath), StateRawData) - || - !CreateFile(Path.Combine(Config.cfg.savDataPath, imgpath), StateRawData) + ImgData = Helper.DecompressByteArray(ImgData); + + if ( + CreateFile(Path.Combine(Config.cfg.savDataPath, rompath), StateRawData) + && + CreateFile(Path.Combine(Config.cfg.savDataPath, imgpath), ImgData) ) { //INSERT INTO `haoyue_emu`.`user_gamesavedata` ( `uid`, `romid`, `savidx`, `savName`, `savNote`, `savUrl`, `savImgUrl`, `savDate`) VALUES ( 0, 0, 2147483647, '', '', '', '', '0000-00-00 00:00:00'); @@ -205,6 +203,10 @@ namespace AxibugEmuOnline.Server.Manager } } } + else + { + errCode = ErrorCode.ErrorRomFailSavedata; + } } @@ -256,6 +258,7 @@ namespace AxibugEmuOnline.Server.Manager { fs.Write(data, 0, data.Length); } + AppSrv.g_Log.Error($"CreeateFile {path}"); return true; } catch (Exception ex) diff --git a/AxibugEmuOnline.Server/Properties/PublishProfiles/FolderProfile.pubxml.user b/AxibugEmuOnline.Server/Properties/PublishProfiles/FolderProfile.pubxml.user index 3359ad88..0ef4a539 100644 --- a/AxibugEmuOnline.Server/Properties/PublishProfiles/FolderProfile.pubxml.user +++ b/AxibugEmuOnline.Server/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. --> - True|2025-02-25T02:21:20.8779432Z||;False|2025-02-25T10:20:39.1249758+08:00||;False|2025-02-24T23:48:17.6638177+08:00||;True|2025-01-09T14:39:17.5797829+08:00||;True|2025-01-09T14:39:05.6042660+08:00||;True|2025-01-09T14:33:09.1944386+08:00||; + True|2025-03-20T03:08:16.2733764Z||;True|2025-02-25T10:21:20.8779432+08:00||;False|2025-02-25T10:20:39.1249758+08:00||;False|2025-02-24T23:48:17.6638177+08:00||;True|2025-01-09T14:39:17.5797829+08:00||;True|2025-01-09T14:39:05.6042660+08:00||;True|2025-01-09T14:33:09.1944386+08:00||; \ No newline at end of file diff --git a/AxibugEmuOnline.Server/Properties/PublishProfiles/FolderProfile1.pubxml.user b/AxibugEmuOnline.Server/Properties/PublishProfiles/FolderProfile1.pubxml.user index c3f8715b..c69e3aff 100644 --- a/AxibugEmuOnline.Server/Properties/PublishProfiles/FolderProfile1.pubxml.user +++ b/AxibugEmuOnline.Server/Properties/PublishProfiles/FolderProfile1.pubxml.user @@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. --> - True|2025-02-25T02:21:36.3766073Z||;True|2025-01-13T16:07:43.4441316+08:00||;True|2025-01-09T15:02:05.2160606+08:00||;True|2025-01-09T14:48:42.5299550+08:00||;False|2025-01-09T14:48:02.6306184+08:00||;True|2025-01-09T14:17:00.2185117+08:00||;True|2025-01-08T23:13:47.7309044+08:00||;True|2025-01-08T13:32:52.0590130+08:00||;True|2025-01-08T13:31:56.8589678+08:00||;True|2025-01-07T13:54:02.0272718+08:00||;True|2025-01-07T10:47:36.6196477+08:00||;True|2025-01-07T01:21:34.5863249+08:00||;False|2025-01-07T01:20:39.5344134+08:00||;True|2025-01-07T00:21:47.4863058+08:00||;True|2025-01-07T00:16:42.7998249+08:00||;False|2025-01-07T00:16:02.8107509+08:00||;False|2025-01-02T15:36:18.1906464+08:00||;False|2025-01-02T15:36:06.5622643+08:00||;True|2024-12-27T18:24:49.7554320+08:00||; + True|2025-04-08T02:53:45.4627796Z||;True|2025-03-20T11:11:37.9448343+08:00||;True|2025-03-20T11:08:47.5054452+08:00||;True|2025-03-17T16:50:47.6205583+08:00||;True|2025-02-25T10:21:36.3766073+08:00||;True|2025-01-13T16:07:43.4441316+08:00||;True|2025-01-09T15:02:05.2160606+08:00||;True|2025-01-09T14:48:42.5299550+08:00||;False|2025-01-09T14:48:02.6306184+08:00||;True|2025-01-09T14:17:00.2185117+08:00||;True|2025-01-08T23:13:47.7309044+08:00||;True|2025-01-08T13:32:52.0590130+08:00||;True|2025-01-08T13:31:56.8589678+08:00||;True|2025-01-07T13:54:02.0272718+08:00||;True|2025-01-07T10:47:36.6196477+08:00||;True|2025-01-07T01:21:34.5863249+08:00||;False|2025-01-07T01:20:39.5344134+08:00||;True|2025-01-07T00:21:47.4863058+08:00||;True|2025-01-07T00:16:42.7998249+08:00||;False|2025-01-07T00:16:02.8107509+08:00||;False|2025-01-02T15:36:18.1906464+08:00||;False|2025-01-02T15:36:06.5622643+08:00||;True|2024-12-27T18:24:49.7554320+08:00||; \ No newline at end of file diff --git a/AxibugEmuOnline.Server/Protobuf/ProtobufAxibugEmuOnline.cs b/AxibugEmuOnline.Server/Protobuf/ProtobufAxibugEmuOnline.cs index ad930a8b..c986acf6 100644 --- a/AxibugEmuOnline.Server/Protobuf/ProtobufAxibugEmuOnline.cs +++ b/AxibugEmuOnline.Server/Protobuf/ProtobufAxibugEmuOnline.cs @@ -141,34 +141,35 @@ namespace AxibugProtobuf { "bnB1dBD6LhIdChhDTURfUk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01E", "X1NjcmVlbhDZNhIfChpDTURfR0FNRVNBVl9HZXRHYW1lU2F2TGlzdBDBPhIb", "ChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2EMU+Eh4KGUNNRF9HQU1FU0FWX1Vw", - "bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TirxAQoJRXJyb3JD", + "bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TiqOAgoJRXJyb3JD", "b2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAESGAoURVJST1Jf", "Uk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NMT1RfQUxSRUFETFlf", "SEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRF", - "EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASHwoaRVJST1Jf", - "Uk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMSHAoXRVJST1JfUk9NX0RPTlRfSEFE", - "X1NUQVIQlAMqQAoJTG9naW5UeXBlEg0KCVVzZURldmljZRAAEg4KClVzZUFj", - "Y291bnQQARIUChBVc2VIYW9ZdWVBY2NvdW50EAIqpQEKCkRldmljZVR5cGUS", - "FgoSRGV2aWNlVHlwZV9EZWZhdWx0EAASBgoCUEMQARILCgdBbmRyb2lkEAIS", - "BwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMzEAUSBwoDUFM0EAYSCwoHWEJPWDM2", - "MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlVEAkSDwoLTmludGVuZG8zRFMQChIR", - "Cg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dhbWVQYWRUeXBlEgwKCEtleWJvYXJk", - "EAASEQoNR2xvYmFsR2FtZVBhZBABEg4KClRvdWNoUGFuZWwQAhIOCgpEUzND", - "b250cm9sEAMSDgoKRFM0Q29udHJvbBAEEg4KCkRTNUNvbnRyb2wQBRIUChBT", - "d2l0Y2hQcm9Db250cm9sEAYSEAoMU3dpdGNoSm95Q29uEAcSEgoOWEJPWDM2", - "MENvbnRyb2wQCBISCg5YQk9YT05FQ29udHJvbBAJEhEKDVBTVml0YUNvbnRy", - "b2wQChISCg5XaWlVUGFkQ29udHJvbBALEhQKEFdpaVJlbW90ZUNvbnRyb2wQ", - "DBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQDSqDAgoPUm9tUGxhdGZvcm1UeXBl", - "EgsKB0ludmFsaWQQABIHCgNOZXMQARIRCg1NYXN0ZXJfU3lzdGVtEAISDQoJ", - "R2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQBBISCg5HYW1lX0JveV9Db2xvchAF", - "EhEKDUNvbGVjb19WaXNpb24QBhILCgdTQ18zMDAwEAcSCwoHU0dfMTAwMBAI", - "EgoKBk5FT0dFTxAUEgcKA0lHUxAVEggKBENQUzEQFhIICgRDUFMyEBcSDgoK", - "QXJjYWRlX09MRBAeEg8KC1dvbmRlcl9Td2FuECgSFQoRV29uZGVyX1N3YW5f", - "Q29sb3IQKRIICgNBbGwQ5wcqcAoNUm9vbUdhbWVTdGF0ZRISCg5Ob25lX0dh", - "bWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAESEQoNV2FpdFJhd1VwZGF0ZRACEg0K", - "CVdhaXRSZWFkeRADEgkKBVBhdXNlEAQSEAoMSW5PbmxpbmVHYW1lEAUqTgoR", - "TG9naW5SZXN1bHRTdGF0dXMSIQodTG9naW5SZXN1bHRTdGF0dXNfQmFzZURl", - "ZmF1bHQQABIGCgJPSxABEg4KCkFjY291bnRFcnIQAkICSAFiBnByb3RvMw==")); + "EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASGwoXRVJST1Jf", + "Uk9NX0ZBSUxfU0FWRURBVEEQURIfChpFUlJPUl9ST01fQUxSRUFEWV9IQURf", + "U1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCUAypACglMb2dp", + "blR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBABEhQKEFVzZUhh", + "b1l1ZUFjY291bnQQAiqlAQoKRGV2aWNlVHlwZRIWChJEZXZpY2VUeXBlX0Rl", + "ZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQ", + "BBIHCgNQUzMQBRIHCgNQUzQQBhILCgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAI", + "EggKBFdpaVUQCRIPCgtOaW50ZW5kbzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQ", + "CyqTAgoLR2FtZVBhZFR5cGUSDAoIS2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1l", + "UGFkEAESDgoKVG91Y2hQYW5lbBACEg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRD", + "b250cm9sEAQSDgoKRFM1Q29udHJvbBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQ", + "BhIQCgxTd2l0Y2hKb3lDb24QBxISCg5YQk9YMzYwQ29udHJvbBAIEhIKDlhC", + "T1hPTkVDb250cm9sEAkSEQoNUFNWaXRhQ29udHJvbBAKEhIKDldpaVVQYWRD", + "b250cm9sEAsSFAoQV2lpUmVtb3RlQ29udHJvbBAMEhYKEk5pbnRlbmRvM0RT", + "Q29udHJvbBANKoMCCg9Sb21QbGF0Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcK", + "A05lcxABEhEKDU1hc3Rlcl9TeXN0ZW0QAhINCglHYW1lX0dlYXIQAxIMCghH", + "YW1lX0JveRAEEhIKDkdhbWVfQm95X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lv", + "bhAGEgsKB1NDXzMwMDAQBxILCgdTR18xMDAwEAgSCgoGTkVPR0VPEBQSBwoD", + "SUdTEBUSCAoEQ1BTMRAWEggKBENQUzIQFxIOCgpBcmNhZGVfT0xEEB4SDwoL", + "V29uZGVyX1N3YW4QKBIVChFXb25kZXJfU3dhbl9Db2xvchApEggKA0FsbBDn", + "BypwCg1Sb29tR2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25s", + "eUhvc3QQARIRCg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoF", + "UGF1c2UQBBIQCgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1", + "cxIhCh1Mb2dpblJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAES", + "DgoKQWNjb3VudEVychACQgJIAWIGcHJvdG8z")); 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[] { @@ -395,6 +396,10 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("ERROR_ROM_DONT_HAD_SAVEDATA")] ErrorRomDontHadSavedata = 80, /// + ///即时存档不存在 + /// + [pbr::OriginalName("ERROR_ROM_FAIL_SAVEDATA")] ErrorRomFailSavedata = 81, + /// ///已经收藏 /// [pbr::OriginalName("ERROR_ROM_ALREADY_HAD_STAR")] ErrorRomAlreadyHadStar = 403, diff --git a/ProtobufCore/out/CS/ProtobufAxibugEmuOnline.cs b/ProtobufCore/out/CS/ProtobufAxibugEmuOnline.cs index ad930a8b..c986acf6 100644 --- a/ProtobufCore/out/CS/ProtobufAxibugEmuOnline.cs +++ b/ProtobufCore/out/CS/ProtobufAxibugEmuOnline.cs @@ -141,34 +141,35 @@ namespace AxibugProtobuf { "bnB1dBD6LhIdChhDTURfUk9PTV9TWU5fUGxheWVySW5wdXQQ/y4SDwoKQ01E", "X1NjcmVlbhDZNhIfChpDTURfR0FNRVNBVl9HZXRHYW1lU2F2TGlzdBDBPhIb", "ChZDTURfR0FNRVNBVl9EZWxHYW1lU2F2EMU+Eh4KGUNNRF9HQU1FU0FWX1Vw", - "bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TirxAQoJRXJyb3JD", + "bG9hZEdhbWVTYXYQyj4SEgoNQ01EX0dBTUVfTUFSSxD1TiqOAgoJRXJyb3JD", "b2RlEhAKDEVSUk9SX0RFRkFVTBAAEgwKCEVSUk9SX09LEAESGAoURVJST1Jf", "Uk9PTV9OT1RfRk9VTkQQChInCiNFUlJPUl9ST09NX1NMT1RfQUxSRUFETFlf", "SEFEX1BMQVlFUhALEiEKHUVSUk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRF", - "EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASHwoaRVJST1Jf", - "Uk9NX0FMUkVBRFlfSEFEX1NUQVIQkwMSHAoXRVJST1JfUk9NX0RPTlRfSEFE", - "X1NUQVIQlAMqQAoJTG9naW5UeXBlEg0KCVVzZURldmljZRAAEg4KClVzZUFj", - "Y291bnQQARIUChBVc2VIYW9ZdWVBY2NvdW50EAIqpQEKCkRldmljZVR5cGUS", - "FgoSRGV2aWNlVHlwZV9EZWZhdWx0EAASBgoCUEMQARILCgdBbmRyb2lkEAIS", - "BwoDSU9TEAMSBwoDUFNWEAQSBwoDUFMzEAUSBwoDUFM0EAYSCwoHWEJPWDM2", - "MBAHEgsKB1hCT1hPTkUQCBIICgRXaWlVEAkSDwoLTmludGVuZG8zRFMQChIR", - "Cg1BbmRyb2lkQ2FyQXBwEAsqkwIKC0dhbWVQYWRUeXBlEgwKCEtleWJvYXJk", - "EAASEQoNR2xvYmFsR2FtZVBhZBABEg4KClRvdWNoUGFuZWwQAhIOCgpEUzND", - "b250cm9sEAMSDgoKRFM0Q29udHJvbBAEEg4KCkRTNUNvbnRyb2wQBRIUChBT", - "d2l0Y2hQcm9Db250cm9sEAYSEAoMU3dpdGNoSm95Q29uEAcSEgoOWEJPWDM2", - "MENvbnRyb2wQCBISCg5YQk9YT05FQ29udHJvbBAJEhEKDVBTVml0YUNvbnRy", - "b2wQChISCg5XaWlVUGFkQ29udHJvbBALEhQKEFdpaVJlbW90ZUNvbnRyb2wQ", - "DBIWChJOaW50ZW5kbzNEU0NvbnRyb2wQDSqDAgoPUm9tUGxhdGZvcm1UeXBl", - "EgsKB0ludmFsaWQQABIHCgNOZXMQARIRCg1NYXN0ZXJfU3lzdGVtEAISDQoJ", - "R2FtZV9HZWFyEAMSDAoIR2FtZV9Cb3kQBBISCg5HYW1lX0JveV9Db2xvchAF", - "EhEKDUNvbGVjb19WaXNpb24QBhILCgdTQ18zMDAwEAcSCwoHU0dfMTAwMBAI", - "EgoKBk5FT0dFTxAUEgcKA0lHUxAVEggKBENQUzEQFhIICgRDUFMyEBcSDgoK", - "QXJjYWRlX09MRBAeEg8KC1dvbmRlcl9Td2FuECgSFQoRV29uZGVyX1N3YW5f", - "Q29sb3IQKRIICgNBbGwQ5wcqcAoNUm9vbUdhbWVTdGF0ZRISCg5Ob25lX0dh", - "bWVTdGF0ZRAAEgwKCE9ubHlIb3N0EAESEQoNV2FpdFJhd1VwZGF0ZRACEg0K", - "CVdhaXRSZWFkeRADEgkKBVBhdXNlEAQSEAoMSW5PbmxpbmVHYW1lEAUqTgoR", - "TG9naW5SZXN1bHRTdGF0dXMSIQodTG9naW5SZXN1bHRTdGF0dXNfQmFzZURl", - "ZmF1bHQQABIGCgJPSxABEg4KCkFjY291bnRFcnIQAkICSAFiBnByb3RvMw==")); + "EDISHwobRVJST1JfUk9NX0RPTlRfSEFEX1NBVkVEQVRBEFASGwoXRVJST1Jf", + "Uk9NX0ZBSUxfU0FWRURBVEEQURIfChpFUlJPUl9ST01fQUxSRUFEWV9IQURf", + "U1RBUhCTAxIcChdFUlJPUl9ST01fRE9OVF9IQURfU1RBUhCUAypACglMb2dp", + "blR5cGUSDQoJVXNlRGV2aWNlEAASDgoKVXNlQWNjb3VudBABEhQKEFVzZUhh", + "b1l1ZUFjY291bnQQAiqlAQoKRGV2aWNlVHlwZRIWChJEZXZpY2VUeXBlX0Rl", + "ZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQ", + "BBIHCgNQUzMQBRIHCgNQUzQQBhILCgdYQk9YMzYwEAcSCwoHWEJPWE9ORRAI", + "EggKBFdpaVUQCRIPCgtOaW50ZW5kbzNEUxAKEhEKDUFuZHJvaWRDYXJBcHAQ", + "CyqTAgoLR2FtZVBhZFR5cGUSDAoIS2V5Ym9hcmQQABIRCg1HbG9iYWxHYW1l", + "UGFkEAESDgoKVG91Y2hQYW5lbBACEg4KCkRTM0NvbnRyb2wQAxIOCgpEUzRD", + "b250cm9sEAQSDgoKRFM1Q29udHJvbBAFEhQKEFN3aXRjaFByb0NvbnRyb2wQ", + "BhIQCgxTd2l0Y2hKb3lDb24QBxISCg5YQk9YMzYwQ29udHJvbBAIEhIKDlhC", + "T1hPTkVDb250cm9sEAkSEQoNUFNWaXRhQ29udHJvbBAKEhIKDldpaVVQYWRD", + "b250cm9sEAsSFAoQV2lpUmVtb3RlQ29udHJvbBAMEhYKEk5pbnRlbmRvM0RT", + "Q29udHJvbBANKoMCCg9Sb21QbGF0Zm9ybVR5cGUSCwoHSW52YWxpZBAAEgcK", + "A05lcxABEhEKDU1hc3Rlcl9TeXN0ZW0QAhINCglHYW1lX0dlYXIQAxIMCghH", + "YW1lX0JveRAEEhIKDkdhbWVfQm95X0NvbG9yEAUSEQoNQ29sZWNvX1Zpc2lv", + "bhAGEgsKB1NDXzMwMDAQBxILCgdTR18xMDAwEAgSCgoGTkVPR0VPEBQSBwoD", + "SUdTEBUSCAoEQ1BTMRAWEggKBENQUzIQFxIOCgpBcmNhZGVfT0xEEB4SDwoL", + "V29uZGVyX1N3YW4QKBIVChFXb25kZXJfU3dhbl9Db2xvchApEggKA0FsbBDn", + "BypwCg1Sb29tR2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25s", + "eUhvc3QQARIRCg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoF", + "UGF1c2UQBBIQCgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1", + "cxIhCh1Mb2dpblJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAES", + "DgoKQWNjb3VudEVychACQgJIAWIGcHJvdG8z")); 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[] { @@ -395,6 +396,10 @@ namespace AxibugProtobuf { /// [pbr::OriginalName("ERROR_ROM_DONT_HAD_SAVEDATA")] ErrorRomDontHadSavedata = 80, /// + ///即时存档不存在 + /// + [pbr::OriginalName("ERROR_ROM_FAIL_SAVEDATA")] ErrorRomFailSavedata = 81, + /// ///已经收藏 /// [pbr::OriginalName("ERROR_ROM_ALREADY_HAD_STAR")] ErrorRomAlreadyHadStar = 403, diff --git a/ProtobufCore/proto/protobuf_AxibugEmuOnline.proto b/ProtobufCore/proto/protobuf_AxibugEmuOnline.proto index 3e47bfe3..45a4b8db 100644 --- a/ProtobufCore/proto/protobuf_AxibugEmuOnline.proto +++ b/ProtobufCore/proto/protobuf_AxibugEmuOnline.proto @@ -85,6 +85,7 @@ enum ErrorCode ERROR_ROOM_CANT_DO_CURR_STATE =50;//当前房间状态不允许本操作 ERROR_ROM_DONT_HAD_SAVEDATA = 80;//即时存档不存在 + ERROR_ROM_FAIL_SAVEDATA = 81;//即时存档不存在 ERROR_ROM_ALREADY_HAD_STAR =403;//已经收藏 ERROR_ROM_DONT_HAD_STAR =404;//并没有收藏