forked from sin365/AxibugEmuOnline
Compare commits
10 Commits
6e34b02c29
...
1899fcdcd9
Author | SHA1 | Date | |
---|---|---|---|
|
1899fcdcd9 | ||
|
11739c11c5 | ||
935518a2e1 | |||
1e32a111b5 | |||
|
181ce9a420 | ||
1d283f5d20 | |||
e438fd6b29 | |||
5347a81356 | |||
bb93b43ba8 | |||
7aa07500b2 |
@ -4,7 +4,6 @@ namespace AxiReplay
|
||||
{
|
||||
public class NetReplay
|
||||
{
|
||||
int MaxInFrame = 0;
|
||||
public int mCurrPlayFrame = -1;
|
||||
Queue<ReplayStep> mQueueReplay;
|
||||
ReplayStep mNextReplay;
|
||||
@ -13,20 +12,28 @@ namespace AxiReplay
|
||||
/// <summary>
|
||||
/// 服务器远端当前帧
|
||||
/// </summary>
|
||||
public int remoteFrameIdx { get; private set; }
|
||||
public int mRemoteFrameIdx { get; private set; }
|
||||
/// <summary>
|
||||
/// 当前帧和服务器帧相差数量
|
||||
/// </summary>
|
||||
public int remoteFrameDiff => remoteFrameIdx - mCurrPlayFrame;
|
||||
public int remoteFrameDiff => mRemoteFrameIdx - mCurrPlayFrame;
|
||||
public NetReplay()
|
||||
{
|
||||
mQueueReplay = new Queue<ReplayStep>();
|
||||
}
|
||||
|
||||
public void ResetData()
|
||||
{
|
||||
mQueueReplay.Clear();
|
||||
mRemoteFrameIdx = 0;
|
||||
byFrameIdx = 0;
|
||||
mNextReplay = default(ReplayStep);
|
||||
mCurrReplay = default(ReplayStep);
|
||||
}
|
||||
public void InData(ReplayStep inputData,int ServerFrameIdx)
|
||||
{
|
||||
mQueueReplay.Enqueue(inputData);
|
||||
MaxInFrame = inputData.FrameStartID;
|
||||
remoteFrameIdx = ServerFrameIdx;
|
||||
mRemoteFrameIdx = inputData.FrameStartID;
|
||||
}
|
||||
public bool NextFrame(out ReplayStep data, out int FrameDiff)
|
||||
{
|
||||
@ -55,17 +62,17 @@ namespace AxiReplay
|
||||
else
|
||||
{
|
||||
data = mCurrReplay;
|
||||
FrameDiff = MaxInFrame - mCurrPlayFrame;
|
||||
FrameDiff = mRemoteFrameIdx - mCurrPlayFrame;
|
||||
}
|
||||
return Changed;
|
||||
}
|
||||
void UpdateNextFrame(int targetFrame,out int FrameDiff)
|
||||
{
|
||||
FrameDiff = MaxInFrame - targetFrame;
|
||||
FrameDiff = mRemoteFrameIdx - targetFrame;
|
||||
//如果已经超过
|
||||
while (targetFrame > mNextReplay.FrameStartID)
|
||||
{
|
||||
if (mNextReplay.FrameStartID >= MaxInFrame)
|
||||
if (mNextReplay.FrameStartID >= mRemoteFrameIdx)
|
||||
{
|
||||
//TODO
|
||||
//bEnd = true;
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 7.8 KiB |
@ -233,6 +233,7 @@ GameObject:
|
||||
- component: {fileID: 6087025893861054323}
|
||||
- component: {fileID: 7036072602178187444}
|
||||
- component: {fileID: 6771349210554360888}
|
||||
- component: {fileID: 3709368495556978651}
|
||||
m_Layer: 5
|
||||
m_Name: Icon
|
||||
m_TagString: Untagged
|
||||
@ -252,14 +253,15 @@ RectTransform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 1323634865265500141}
|
||||
- {fileID: 331028397738758164}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 1}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 1, y: 0.5}
|
||||
--- !u!222 &7036072602178187444
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -298,6 +300,26 @@ MonoBehaviour:
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &3709368495556978651
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1776357407830023228}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IgnoreLayout: 0
|
||||
m_MinWidth: -1
|
||||
m_MinHeight: -1
|
||||
m_PreferredWidth: 144
|
||||
m_PreferredHeight: 104
|
||||
m_FlexibleWidth: -1
|
||||
m_FlexibleHeight: -1
|
||||
m_LayoutPriority: 1
|
||||
--- !u!1 &1813396448589485488
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -409,7 +431,7 @@ RectTransform:
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 102}
|
||||
m_SizeDelta: {x: 144, y: 104}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
--- !u!114 &-3959751710151339114
|
||||
MonoBehaviour:
|
||||
@ -556,19 +578,19 @@ RectTransform:
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3811189825355447390}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 2303118795734916657}
|
||||
- {fileID: 4467178468921796307}
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: 2
|
||||
m_Father: {fileID: 6087025893861054323}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0.5}
|
||||
m_AnchorMax: {x: 1, y: 0.5}
|
||||
m_AnchoredPosition: {x: 50, y: -165.08997}
|
||||
m_SizeDelta: {x: 2338.0796, y: 1768.3333}
|
||||
m_AnchoredPosition: {x: 0.000015258789, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
--- !u!114 &3428297980621487917
|
||||
MonoBehaviour:
|
||||
@ -621,8 +643,8 @@ MonoBehaviour:
|
||||
step: 50
|
||||
splitStep: 200
|
||||
m_selectArrow: {fileID: 4467178468921796307}
|
||||
ArrowOffset: 115
|
||||
WidthFix: 225
|
||||
ArrowOffset: 60
|
||||
WidthFix: 280
|
||||
itemGroup: {fileID: 6055880809428073973}
|
||||
srollRect: {fileID: 3428297980621487917}
|
||||
--- !u!225 &3086674949377227884
|
||||
@ -647,7 +669,6 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 8789823129857705082}
|
||||
- component: {fileID: 3252398029444565139}
|
||||
- component: {fileID: 4972426757569440742}
|
||||
- component: {fileID: 5331629140490413834}
|
||||
m_Layer: 5
|
||||
m_Name: InfoNode
|
||||
@ -672,8 +693,8 @@ RectTransform:
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
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, y: 0.5}
|
||||
@ -703,20 +724,6 @@ MonoBehaviour:
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &4972426757569440742
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3993825260653792697}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 2
|
||||
m_VerticalFit: 2
|
||||
--- !u!225 &5331629140490413834
|
||||
CanvasGroup:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -895,6 +902,8 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8754483333502849411}
|
||||
- component: {fileID: 3637207717728009549}
|
||||
- component: {fileID: 557410003364511780}
|
||||
m_Layer: 5
|
||||
m_Name: Root
|
||||
m_TagString: Untagged
|
||||
@ -915,12 +924,51 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 6087025893861054323}
|
||||
- {fileID: 8789823129857705082}
|
||||
- {fileID: 331028397738758164}
|
||||
m_Father: {fileID: 1998281097548910301}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchorMin: {x: 0, y: 0.5}
|
||||
m_AnchorMax: {x: 0, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
m_SizeDelta: {x: 0, y: 130}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
--- !u!114 &3637207717728009549
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8290338740711049006}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 3
|
||||
m_Spacing: 0
|
||||
m_ChildForceExpandWidth: 0
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 1
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &557410003364511780
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8290338740711049006}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 2
|
||||
m_VerticalFit: 0
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -301,7 +301,7 @@ MonoBehaviour:
|
||||
m_menuItemRoot: {fileID: 3226730524206505336}
|
||||
SubMenuItemTemplate: {fileID: 2502609279043838113, guid: 01f3c5497992f944eae9b9efa15a19c2, type: 3}
|
||||
alphaGroup: {fileID: 6355204462360987243}
|
||||
m_selectItemPosition: {x: -50, y: -51}
|
||||
m_selectItemPosition: {x: -72, y: -51}
|
||||
step: 120
|
||||
splitStep: 280
|
||||
--- !u!225 &6355204462360987243
|
||||
|
@ -255,11 +255,11 @@ RectTransform:
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 1}
|
||||
m_AnchorMax: {x: 0.5, y: 1}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 1}
|
||||
m_SizeDelta: {x: 144, y: 104}
|
||||
m_Pivot: {x: 1, y: 0.5}
|
||||
--- !u!222 &7036072602178187444
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -334,7 +334,7 @@ RectTransform:
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 102}
|
||||
m_SizeDelta: {x: 144, y: 104}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
--- !u!114 &2502609279043838113
|
||||
MonoBehaviour:
|
||||
@ -412,9 +412,9 @@ RectTransform:
|
||||
m_Father: {fileID: 8754483333502849411}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 144, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0, y: 0.5}
|
||||
--- !u!114 &3252398029444565139
|
||||
@ -557,6 +557,7 @@ GameObject:
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8754483333502849411}
|
||||
- component: {fileID: 7558693960475443325}
|
||||
m_Layer: 5
|
||||
m_Name: Root
|
||||
m_TagString: Untagged
|
||||
@ -585,3 +586,29 @@ RectTransform:
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &7558693960475443325
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8290338740711049006}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 3
|
||||
m_Spacing: 0
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 1
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -8,6 +8,7 @@
|
||||
|
||||
OnRoomListAllUpdate,//房间列表全量刷新
|
||||
OnRoomListSingleUpdate,//房间列表中单个更新
|
||||
OnRoomGetRoomScreen,//获取到房间数据
|
||||
|
||||
/// <summary>
|
||||
/// 我进入房间
|
||||
@ -32,10 +33,5 @@
|
||||
/// 服务器等待Step更新
|
||||
/// </summary>
|
||||
OnRoomWaitStepChange,
|
||||
|
||||
/// <summary>
|
||||
/// 要求加载即时存档
|
||||
/// </summary>
|
||||
OnRoomNeedLoadRawData,
|
||||
}
|
||||
}
|
||||
|
@ -3,9 +3,6 @@ using AxibugEmuOnline.Client.Common;
|
||||
using AxibugEmuOnline.Client.Network;
|
||||
using AxibugProtobuf;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net.Sockets;
|
||||
|
||||
namespace AxibugEmuOnline.Client.Manager
|
||||
{
|
||||
@ -40,6 +37,9 @@ namespace AxibugEmuOnline.Client.Manager
|
||||
{
|
||||
App.log.Info("登录成功");
|
||||
App.user.InitMainUserData(App.user.userdata.Account, msg.UID);
|
||||
|
||||
App.log.Info("获取服务器列表");
|
||||
App.roomMgr.SendGetRoomList();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -31,6 +31,7 @@ namespace AxibugEmuOnline.Client.Manager
|
||||
}
|
||||
|
||||
Protobuf_Room_List _Protobuf_Room_List = new Protobuf_Room_List();
|
||||
Protobuf_Room_Get_Screen _Protobuf_Room_Get_Screen = new Protobuf_Room_Get_Screen();
|
||||
Protobuf_Room_Create _Protobuf_Room_Create = new Protobuf_Room_Create();
|
||||
Protobuf_Room_Join _Protobuf_Room_Join = new Protobuf_Room_Join();
|
||||
Protobuf_Room_Leave _Protobuf_Room_Leave = new Protobuf_Room_Leave();
|
||||
@ -41,6 +42,7 @@ namespace AxibugEmuOnline.Client.Manager
|
||||
{
|
||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdRoomList, RecvGetRoomList);
|
||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdRoomListUpdate, RecvGetRoomListUpdate);
|
||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdRoomGetScreen, RecvRoomGetScreen);
|
||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdRoomCreate, RecvCreateRoom);
|
||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdRoomJoin, RecvJoinRoom);
|
||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdRoomLeave, RecvLeavnRoom);
|
||||
@ -96,10 +98,11 @@ namespace AxibugEmuOnline.Client.Manager
|
||||
public void InitRePlay()
|
||||
{
|
||||
netReplay = new NetReplay();
|
||||
netReplay.ResetData();
|
||||
}
|
||||
public void ReleaseRePlay()
|
||||
{
|
||||
|
||||
netReplay.ResetData();
|
||||
}
|
||||
#endregion
|
||||
|
||||
@ -113,6 +116,10 @@ namespace AxibugEmuOnline.Client.Manager
|
||||
return 0;
|
||||
if (mineRoomMiniInfo.Player2UID == App.user.userdata.UID)
|
||||
return 1;
|
||||
if (mineRoomMiniInfo.Player3UID == App.user.userdata.UID)
|
||||
return 2;
|
||||
if (mineRoomMiniInfo.Player4UID == App.user.userdata.UID)
|
||||
return 3;
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -197,6 +204,29 @@ namespace AxibugEmuOnline.Client.Manager
|
||||
Eventer.Instance.PostEvent(EEvent.OnRoomListSingleUpdate, msg.RoomMiniInfo.GameRomID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取房间画面快照
|
||||
/// </summary>
|
||||
/// <param name="RoomID"></param>
|
||||
public void SendGetRoomScreen(int RoomID)
|
||||
{
|
||||
_Protobuf_Room_Get_Screen.RoomID = RoomID;
|
||||
App.log.Info($"获取房间画面快照");
|
||||
App.network.SendToServer((int)CommandID.CmdRoomGetScreen, ProtoBufHelper.Serizlize(_Protobuf_Room_Get_Screen));
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取单个房间画面
|
||||
/// </summary>
|
||||
/// <param name="reqData"></param>
|
||||
void RecvRoomGetScreen(byte[] reqData)
|
||||
{
|
||||
App.log.Debug("单个房间状态更新");
|
||||
Protobuf_Room_Get_Screen_RESP msg = ProtoBufHelper.DeSerizlize<Protobuf_Room_Get_Screen_RESP>(reqData);
|
||||
//解压
|
||||
byte[] data = Helper.DecompressByteArray(msg.RawBitmap.ToArray());
|
||||
Eventer.Instance.PostEvent(EEvent.OnRoomGetRoomScreen, msg.RoomID, data);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建房间
|
||||
/// </summary>
|
||||
@ -304,7 +334,7 @@ namespace AxibugEmuOnline.Client.Manager
|
||||
/// 上报即时存档
|
||||
/// </summary>
|
||||
/// <param name="RoomID"></param>
|
||||
public void SendLeavnRoom(byte[] RawData)
|
||||
public void SendHostRaw(byte[] RawData)
|
||||
{
|
||||
//压缩
|
||||
byte[] compressRawData = Helper.CompressByteArray(RawData);
|
||||
@ -357,7 +387,6 @@ namespace AxibugEmuOnline.Client.Manager
|
||||
App.network.SendToServer((int)CommandID.CmdRoomSingelPlayerInput, ProtoBufHelper.Serizlize(_Protobuf_Room_SinglePlayerInputData));
|
||||
}
|
||||
|
||||
|
||||
void RecvHostSyn_RoomFrameAllInputData(byte[] reqData)
|
||||
{
|
||||
Protobuf_Room_Syn_RoomFrameAllInputData msg = ProtoBufHelper.DeSerizlize<Protobuf_Room_Syn_RoomFrameAllInputData>(reqData);
|
||||
@ -379,10 +408,5 @@ namespace AxibugEmuOnline.Client.Manager
|
||||
//解压
|
||||
byte[] data = Helper.DecompressByteArray(msg.RawBitmap.ToArray());
|
||||
}
|
||||
|
||||
internal void SendHostRaw(byte[] stateRaw)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
@ -71,26 +71,30 @@ namespace AxibugProtobuf {
|
||||
"KAwiPwonUHJvdG9idWZfUm9vbV9Ib3N0UGxheWVyX1VwZGF0ZVN0YXRlUmF3",
|
||||
"EhQKDExvYWRTdGF0ZVJhdxgBIAEoDCIuCixQcm90b2J1Zl9Sb29tX0hvc3RQ",
|
||||
"bGF5ZXJfVXBkYXRlU3RhdGVSYXdfUkVTUCIcChpQcm90b2J1Zl9Sb29tX1Bs",
|
||||
"YXllcl9SZWFkeSqaAwoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghD",
|
||||
"TURfUElORxABEgwKCENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhAKC0NN",
|
||||
"RF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01EX1Jvb21f",
|
||||
"TGlzdF9VcGRhdGUQiicSFAoPQ01EX1Jvb21fQ3JlYXRlEO0nEhIKDUNNRF9S",
|
||||
"b29tX0pvaW4Q8ScSEwoOQ01EX1Jvb21fTGVhdmUQ8icSIgodQ01EX1Jvb21f",
|
||||
"TXlSb29tX1N0YXRlX0NoYW5nZWQQ9icSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ",
|
||||
"0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa",
|
||||
"ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs",
|
||||
"X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/",
|
||||
"LhIPCgpDTURfU2NyZWVuENk2Ko8BCglFcnJvckNvZGUSEAoMRVJST1JfREVG",
|
||||
"QVVMEAASDAoIRVJST1JfT0sQARIYChRFUlJPUl9ST09NX05PVF9GT1VORBAK",
|
||||
"EiUKIUVSUk9SX1JPT01fU0xPVF9SRUFETFlfSEFEX1BMQVlFUhALEiEKHUVS",
|
||||
"Uk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRFEDIqHAoJTG9naW5UeXBlEg8K",
|
||||
"C0Jhc2VEZWZhdWx0EAAqSwoKRGV2aWNlVHlwZRIWChJEZXZpY2VUeXBlX0Rl",
|
||||
"ZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQ",
|
||||
"BCpwCg1Sb29tR2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25s",
|
||||
"eUhvc3QQARIRCg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoF",
|
||||
"UGF1c2UQBBIQCgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1",
|
||||
"cxIhCh1Mb2dpblJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAES",
|
||||
"DgoKQWNjb3VudEVychACQgJIAWIGcHJvdG8z"));
|
||||
"YXllcl9SZWFkeSIqChhQcm90b2J1Zl9Sb29tX0dldF9TY3JlZW4SDgoGUm9v",
|
||||
"bUlEGAEgASgFIlMKHVByb3RvYnVmX1Jvb21fR2V0X1NjcmVlbl9SRVNQEg4K",
|
||||
"BlJvb21JRBgBIAEoBRIPCgdGcmFtZUlEGAIgASgFEhEKCVJhd0JpdG1hcBgD",
|
||||
"IAEoDCq0AwoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElO",
|
||||
"RxABEgwKCENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhAKC0NNRF9DSEFU",
|
||||
"TVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01EX1Jvb21fTGlzdF9V",
|
||||
"cGRhdGUQiicSGAoTQ01EX1Jvb21fR2V0X1NjcmVlbhCTJxIUCg9DTURfUm9v",
|
||||
"bV9DcmVhdGUQ7ScSEgoNQ01EX1Jvb21fSm9pbhDxJxITCg5DTURfUm9vbV9M",
|
||||
"ZWF2ZRDyJxIiCh1DTURfUm9vbV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2JxIW",
|
||||
"ChFDTURfUm9vbV9XYWl0U3RlcBDRKBInCiJDTURfUm9vbV9Ib3N0UGxheWVy",
|
||||
"X1VwZGF0ZVN0YXRlUmF3ENQoEhoKFUNNRF9Sb29tX1BsYXllcl9SZWFkeRDY",
|
||||
"KBIgChtDTURfUm9vbV9TaW5nZWxfUGxheWVySW5wdXQQ+i4SHQoYQ01EX1JP",
|
||||
"T01fU1lOX1BsYXllcklucHV0EP8uEg8KCkNNRF9TY3JlZW4Q2TYqjwEKCUVy",
|
||||
"cm9yQ29kZRIQCgxFUlJPUl9ERUZBVUwQABIMCghFUlJPUl9PSxABEhgKFEVS",
|
||||
"Uk9SX1JPT01fTk9UX0ZPVU5EEAoSJQohRVJST1JfUk9PTV9TTE9UX1JFQURM",
|
||||
"WV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9PTV9DQU5UX0RPX0NVUlJfU1RB",
|
||||
"VEUQMiocCglMb2dpblR5cGUSDwoLQmFzZURlZmF1bHQQACpLCgpEZXZpY2VU",
|
||||
"eXBlEhYKEkRldmljZVR5cGVfRGVmYXVsdBAAEgYKAlBDEAESCwoHQW5kcm9p",
|
||||
"ZBACEgcKA0lPUxADEgcKA1BTVhAEKnAKDVJvb21HYW1lU3RhdGUSEgoOTm9u",
|
||||
"ZV9HYW1lU3RhdGUQABIMCghPbmx5SG9zdBABEhEKDVdhaXRSYXdVcGRhdGUQ",
|
||||
"AhINCglXYWl0UmVhZHkQAxIJCgVQYXVzZRAEEhAKDEluT25saW5lR2FtZRAF",
|
||||
"Kk4KEUxvZ2luUmVzdWx0U3RhdHVzEiEKHUxvZ2luUmVzdWx0U3RhdHVzX0Jh",
|
||||
"c2VEZWZhdWx0EAASBgoCT0sQARIOCgpBY2NvdW50RXJyEAJCAkgBYgZwcm90",
|
||||
"bzM="));
|
||||
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.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
||||
@ -117,7 +121,9 @@ namespace AxibugProtobuf {
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_WaitStep_RESP), global::AxibugProtobuf.Protobuf_Room_WaitStep_RESP.Parser, new[]{ "WaitStep", "LoadStateRaw" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw), global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw.Parser, new[]{ "LoadStateRaw" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw_RESP), global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw_RESP.Parser, null, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, null, null, null, null, null)
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, null, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen), global::AxibugProtobuf.Protobuf_Room_Get_Screen.Parser, new[]{ "RoomID" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP), global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null)
|
||||
}));
|
||||
}
|
||||
#endregion
|
||||
@ -154,6 +160,10 @@ namespace AxibugProtobuf {
|
||||
/// </summary>
|
||||
[pbr::OriginalName("CMD_Room_List_Update")] CmdRoomListUpdate = 5002,
|
||||
/// <summary>
|
||||
///房间列表 上行 | 下行 对应 Protobuf_Room_Get_Screen | Protobuf_Room_Get_Screen_RESP
|
||||
/// </summary>
|
||||
[pbr::OriginalName("CMD_Room_Get_Screen")] CmdRoomGetScreen = 5011,
|
||||
/// <summary>
|
||||
///房间内相关
|
||||
/// </summary>
|
||||
[pbr::OriginalName("CMD_Room_Create")] CmdRoomCreate = 5101,
|
||||
@ -180,7 +190,7 @@ namespace AxibugProtobuf {
|
||||
/// 主机玩家 上行 CMD_Room_HostPlayer_UpdateStateRaw消息,上传即时存档
|
||||
/// 主机玩家上传完毕之后,服务器会通知进入Step1
|
||||
///
|
||||
/// Step1:服务器广播"等待-全员加载即时存档" CMD_Room_WaitStep WaitStep=[1] 附带即时存档 ---> 客户端:全员等待(主机玩家一人上传)
|
||||
/// Step1:服务器广播"等待-全员加载即时存档" CMD_Room_WaitStep WaitStep=[1] 附带即时存档 ---> 客户端:全员等待
|
||||
/// 所有玩家确保加载ROM和即时存档,并保持模拟器暂停,准备完毕后 发送 CMD_Room_Player_Ready
|
||||
/// 所有玩家Ready之后,服务器会根据所有玩家延迟提前跑若干Frame,通知进入Step2
|
||||
///
|
||||
@ -5727,6 +5737,434 @@ namespace AxibugProtobuf {
|
||||
|
||||
}
|
||||
|
||||
public sealed partial class Protobuf_Room_Get_Screen : pb::IMessage<Protobuf_Room_Get_Screen>
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
, pb::IBufferMessage
|
||||
#endif
|
||||
{
|
||||
private static readonly pb::MessageParser<Protobuf_Room_Get_Screen> _parser = new pb::MessageParser<Protobuf_Room_Get_Screen>(() => new Protobuf_Room_Get_Screen());
|
||||
private pb::UnknownFieldSet _unknownFields;
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public static pb::MessageParser<Protobuf_Room_Get_Screen> Parser { get { return _parser; } }
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public static pbr::MessageDescriptor Descriptor {
|
||||
get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[24]; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
||||
get { return Descriptor; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen() {
|
||||
OnConstruction();
|
||||
}
|
||||
|
||||
partial void OnConstruction();
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen(Protobuf_Room_Get_Screen other) : this() {
|
||||
roomID_ = other.roomID_;
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen Clone() {
|
||||
return new Protobuf_Room_Get_Screen(this);
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "RoomID" field.</summary>
|
||||
public const int RoomIDFieldNumber = 1;
|
||||
private int roomID_;
|
||||
/// <summary>
|
||||
///房间ID
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int RoomID {
|
||||
get { return roomID_; }
|
||||
set {
|
||||
roomID_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as Protobuf_Room_Get_Screen);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public bool Equals(Protobuf_Room_Get_Screen other) {
|
||||
if (ReferenceEquals(other, null)) {
|
||||
return false;
|
||||
}
|
||||
if (ReferenceEquals(other, this)) {
|
||||
return true;
|
||||
}
|
||||
if (RoomID != other.RoomID) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override int GetHashCode() {
|
||||
int hash = 1;
|
||||
if (RoomID != 0) hash ^= RoomID.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override string ToString() {
|
||||
return pb::JsonFormatter.ToDiagnosticString(this);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void WriteTo(pb::CodedOutputStream output) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
output.WriteRawMessage(this);
|
||||
#else
|
||||
if (RoomID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(RoomID);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
|
||||
if (RoomID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(RoomID);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int CalculateSize() {
|
||||
int size = 0;
|
||||
if (RoomID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void MergeFrom(Protobuf_Room_Get_Screen other) {
|
||||
if (other == null) {
|
||||
return;
|
||||
}
|
||||
if (other.RoomID != 0) {
|
||||
RoomID = other.RoomID;
|
||||
}
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void MergeFrom(pb::CodedInputStream input) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
input.ReadRawMessage(this);
|
||||
#else
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
||||
break;
|
||||
case 8: {
|
||||
RoomID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
|
||||
break;
|
||||
case 8: {
|
||||
RoomID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
public sealed partial class Protobuf_Room_Get_Screen_RESP : pb::IMessage<Protobuf_Room_Get_Screen_RESP>
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
, pb::IBufferMessage
|
||||
#endif
|
||||
{
|
||||
private static readonly pb::MessageParser<Protobuf_Room_Get_Screen_RESP> _parser = new pb::MessageParser<Protobuf_Room_Get_Screen_RESP>(() => new Protobuf_Room_Get_Screen_RESP());
|
||||
private pb::UnknownFieldSet _unknownFields;
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public static pb::MessageParser<Protobuf_Room_Get_Screen_RESP> Parser { get { return _parser; } }
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public static pbr::MessageDescriptor Descriptor {
|
||||
get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[25]; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
||||
get { return Descriptor; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen_RESP() {
|
||||
OnConstruction();
|
||||
}
|
||||
|
||||
partial void OnConstruction();
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen_RESP(Protobuf_Room_Get_Screen_RESP other) : this() {
|
||||
roomID_ = other.roomID_;
|
||||
frameID_ = other.frameID_;
|
||||
rawBitmap_ = other.rawBitmap_;
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen_RESP Clone() {
|
||||
return new Protobuf_Room_Get_Screen_RESP(this);
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "RoomID" field.</summary>
|
||||
public const int RoomIDFieldNumber = 1;
|
||||
private int roomID_;
|
||||
/// <summary>
|
||||
///房间ID
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int RoomID {
|
||||
get { return roomID_; }
|
||||
set {
|
||||
roomID_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "FrameID" field.</summary>
|
||||
public const int FrameIDFieldNumber = 2;
|
||||
private int frameID_;
|
||||
/// <summary>
|
||||
///帧编号
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int FrameID {
|
||||
get { return frameID_; }
|
||||
set {
|
||||
frameID_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "RawBitmap" field.</summary>
|
||||
public const int RawBitmapFieldNumber = 3;
|
||||
private pb::ByteString rawBitmap_ = pb::ByteString.Empty;
|
||||
/// <summary>
|
||||
///渲染层画面
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public pb::ByteString RawBitmap {
|
||||
get { return rawBitmap_; }
|
||||
set {
|
||||
rawBitmap_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as Protobuf_Room_Get_Screen_RESP);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public bool Equals(Protobuf_Room_Get_Screen_RESP other) {
|
||||
if (ReferenceEquals(other, null)) {
|
||||
return false;
|
||||
}
|
||||
if (ReferenceEquals(other, this)) {
|
||||
return true;
|
||||
}
|
||||
if (RoomID != other.RoomID) return false;
|
||||
if (FrameID != other.FrameID) return false;
|
||||
if (RawBitmap != other.RawBitmap) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override int GetHashCode() {
|
||||
int hash = 1;
|
||||
if (RoomID != 0) hash ^= RoomID.GetHashCode();
|
||||
if (FrameID != 0) hash ^= FrameID.GetHashCode();
|
||||
if (RawBitmap.Length != 0) hash ^= RawBitmap.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override string ToString() {
|
||||
return pb::JsonFormatter.ToDiagnosticString(this);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void WriteTo(pb::CodedOutputStream output) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
output.WriteRawMessage(this);
|
||||
#else
|
||||
if (RoomID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(RoomID);
|
||||
}
|
||||
if (FrameID != 0) {
|
||||
output.WriteRawTag(16);
|
||||
output.WriteInt32(FrameID);
|
||||
}
|
||||
if (RawBitmap.Length != 0) {
|
||||
output.WriteRawTag(26);
|
||||
output.WriteBytes(RawBitmap);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
|
||||
if (RoomID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(RoomID);
|
||||
}
|
||||
if (FrameID != 0) {
|
||||
output.WriteRawTag(16);
|
||||
output.WriteInt32(FrameID);
|
||||
}
|
||||
if (RawBitmap.Length != 0) {
|
||||
output.WriteRawTag(26);
|
||||
output.WriteBytes(RawBitmap);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int CalculateSize() {
|
||||
int size = 0;
|
||||
if (RoomID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
|
||||
}
|
||||
if (FrameID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeInt32Size(FrameID);
|
||||
}
|
||||
if (RawBitmap.Length != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeBytesSize(RawBitmap);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void MergeFrom(Protobuf_Room_Get_Screen_RESP other) {
|
||||
if (other == null) {
|
||||
return;
|
||||
}
|
||||
if (other.RoomID != 0) {
|
||||
RoomID = other.RoomID;
|
||||
}
|
||||
if (other.FrameID != 0) {
|
||||
FrameID = other.FrameID;
|
||||
}
|
||||
if (other.RawBitmap.Length != 0) {
|
||||
RawBitmap = other.RawBitmap;
|
||||
}
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void MergeFrom(pb::CodedInputStream input) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
input.ReadRawMessage(this);
|
||||
#else
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
||||
break;
|
||||
case 8: {
|
||||
RoomID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 16: {
|
||||
FrameID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 26: {
|
||||
RawBitmap = input.ReadBytes();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
|
||||
break;
|
||||
case 8: {
|
||||
RoomID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 16: {
|
||||
FrameID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 26: {
|
||||
RawBitmap = input.ReadBytes();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
using DG.Tweening;
|
||||
using DG.Tweening.Core;
|
||||
using DG.Tweening.Plugins.Options;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
|
@ -16,7 +16,6 @@ namespace AxibugEmuOnline.Server.Manager
|
||||
public DateTime LogOutDT { get; set; }
|
||||
public DateTime LogInDT { get; set; }
|
||||
public UserRoomState RoomState { get; set; } = new UserRoomState();
|
||||
|
||||
public TimeSpan LastStartPingTime { get; set; }
|
||||
public int LastPingSeed { get; set; }
|
||||
public double AveNetDelay { get; set; }
|
||||
@ -34,13 +33,11 @@ namespace AxibugEmuOnline.Server.Manager
|
||||
{
|
||||
ClearRoomData();
|
||||
}
|
||||
|
||||
public void SetRoomData(int roomID, int playerIdx)
|
||||
{
|
||||
RoomID = roomID;
|
||||
PlayerIdx = playerIdx;
|
||||
}
|
||||
|
||||
public void ClearRoomData()
|
||||
{
|
||||
RoomID = -1;
|
||||
|
@ -20,6 +20,7 @@ namespace AxibugEmuOnline.Server
|
||||
public RoomManager()
|
||||
{
|
||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdRoomList, OnCmdRoomList);
|
||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdRoomGetScreen, CmdRoomGetScreen);
|
||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdRoomCreate, OnCmdRoomCreate);
|
||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdRoomJoin, OnCmdRoomJoin);
|
||||
NetMsg.Instance.RegNetMsgEvent((int)CommandID.CmdRoomLeave, OnCmdRoomLeave);
|
||||
@ -132,6 +133,27 @@ namespace AxibugEmuOnline.Server
|
||||
resp.RoomMiniInfoList.Add(GetProtoDataRoom(room));
|
||||
AppSrv.g_ClientMgr.ClientSend(_c, (int)CommandID.CmdChatmsg, (int)ErrorCode.ErrorOk, ProtoBufHelper.Serizlize(resp));
|
||||
}
|
||||
public void CmdRoomGetScreen(Socket sk, byte[] reqData)
|
||||
{
|
||||
AppSrv.g_Log.Debug($"OnCmdRoomList ");
|
||||
ClientInfo _c = AppSrv.g_ClientMgr.GetClientForSocket(sk);
|
||||
Protobuf_Room_Get_Screen msg = ProtoBufHelper.DeSerizlize<Protobuf_Room_Get_Screen>(reqData);
|
||||
|
||||
Data_RoomData room = GetRoomData(_c.RoomState.RoomID);
|
||||
bool bHadRoomStateChange = false;
|
||||
ErrorCode Errcode = ErrorCode.ErrorOk;
|
||||
Protobuf_Room_Get_Screen_RESP resp = new Protobuf_Room_Get_Screen_RESP();
|
||||
if (room == null)
|
||||
Errcode = ErrorCode.ErrorRoomNotFound;
|
||||
else
|
||||
{
|
||||
resp.FrameID = (int)room.mCurrFrameId;
|
||||
resp.RoomID = room.RoomID;
|
||||
resp.RawBitmap = room.ScreenRaw;
|
||||
}
|
||||
|
||||
AppSrv.g_ClientMgr.ClientSend(_c, (int)CommandID.CmdRoomGetScreen, (int)ErrorCode.ErrorOk, ProtoBufHelper.Serizlize(resp));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
@ -270,7 +292,12 @@ namespace AxibugEmuOnline.Server
|
||||
Data_RoomData room = GetRoomData(_c.RoomState.RoomID);
|
||||
if (room == null)
|
||||
return;
|
||||
room.SetPlayerInput(_c.RoomState.PlayerIdx, msg.FrameID, (ushort)msg.InputData);
|
||||
|
||||
//取玩家操作数据中的第一个
|
||||
ServerInputSnapShot temp = new ServerInputSnapShot();
|
||||
temp.all = msg.InputData;
|
||||
|
||||
room.SetPlayerInput(_c.RoomState.PlayerIdx, msg.FrameID, temp.p1_byte);
|
||||
}
|
||||
|
||||
public void OnCmdScreen(Socket sk, byte[] reqData)
|
||||
@ -540,14 +567,14 @@ namespace AxibugEmuOnline.Server
|
||||
return list;
|
||||
}
|
||||
|
||||
public void SetPlayerInput(int PlayerIdx, long mFrameID, ushort input)
|
||||
public void SetPlayerInput(int PlayerIdx, long mFrameID, byte input)
|
||||
{
|
||||
switch (PlayerIdx)
|
||||
{
|
||||
case 0: mCurrInputData.p1 = input; break;
|
||||
case 1: mCurrInputData.p2 = input; break;
|
||||
case 2: mCurrInputData.p3 = input; break;
|
||||
case 3: mCurrInputData.p4 = input; break;
|
||||
case 0: mCurrInputData.p1_byte = input; break;
|
||||
case 1: mCurrInputData.p2_byte = input; break;
|
||||
case 2: mCurrInputData.p3_byte = input; break;
|
||||
case 3: mCurrInputData.p4_byte = input; break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -555,10 +582,10 @@ namespace AxibugEmuOnline.Server
|
||||
{
|
||||
switch (PlayerIdx)
|
||||
{
|
||||
case 0: mCurrInputData.p1 = 0; break;
|
||||
case 1: mCurrInputData.p2 = 0; break;
|
||||
case 2: mCurrInputData.p3 = 0; break;
|
||||
case 3: mCurrInputData.p4 = 0; break;
|
||||
case 0: mCurrInputData.p1_byte = 0; break;
|
||||
case 1: mCurrInputData.p2_byte = 0; break;
|
||||
case 2: mCurrInputData.p3_byte = 0; break;
|
||||
case 3: mCurrInputData.p4_byte = 0; break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -753,18 +780,28 @@ namespace AxibugEmuOnline.Server
|
||||
}
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
[StructLayout(LayoutKind.Explicit, Size = 8)]
|
||||
public struct ServerInputSnapShot
|
||||
{
|
||||
[FieldOffset(0)]
|
||||
public UInt64 all;
|
||||
|
||||
[FieldOffset(0)]
|
||||
public ushort p1;
|
||||
public byte p1_byte;
|
||||
[FieldOffset(1)]
|
||||
public byte p2_byte;
|
||||
[FieldOffset(2)]
|
||||
public ushort p2;
|
||||
public byte p3_byte;
|
||||
[FieldOffset(3)]
|
||||
public byte p4_byte;
|
||||
|
||||
[FieldOffset(0)]
|
||||
public ushort p1_ushort;
|
||||
[FieldOffset(2)]
|
||||
public ushort p2_ushort;
|
||||
[FieldOffset(4)]
|
||||
public ushort p3;
|
||||
public ushort p3_ushort;
|
||||
[FieldOffset(6)]
|
||||
public ushort p4;
|
||||
public ushort p4_ushort;
|
||||
}
|
||||
}
|
@ -29,10 +29,10 @@ namespace AxibugEmuOnline.Server
|
||||
AppSrv.g_Log.Info($"HostUID:{room.HostUID}");
|
||||
AppSrv.g_Log.Info($"mCurrFrameId:{room.mCurrFrameId}");
|
||||
AppSrv.g_Log.Info($"input all:{room.mCurrInputData.all}");
|
||||
AppSrv.g_Log.Info($"input p1:{room.mCurrInputData.p1}");
|
||||
AppSrv.g_Log.Info($"input p2:{room.mCurrInputData.p2}");
|
||||
AppSrv.g_Log.Info($"input p3:{room.mCurrInputData.p3}");
|
||||
AppSrv.g_Log.Info($"input p4:{room.mCurrInputData.p4}");
|
||||
AppSrv.g_Log.Info($"input p1:{room.mCurrInputData.p1_byte}");
|
||||
AppSrv.g_Log.Info($"input p2:{room.mCurrInputData.p2_byte}");
|
||||
AppSrv.g_Log.Info($"input p3:{room.mCurrInputData.p3_byte}");
|
||||
AppSrv.g_Log.Info($"input p4:{room.mCurrInputData.p4_byte}");
|
||||
AppSrv.g_Log.Info($"GetPlayerCount:{room.GetPlayerCount()}");
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
|
@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<History>True|2024-09-13T05:39:28.9591993Z||;True|2024-09-12T17:48:43.1521740+08:00||;True|2024-09-12T17:43:57.0504432+08:00||;True|2024-09-12T17:19:48.6392091+08:00||;True|2024-09-12T13:38:45.0141937+08:00||;False|2024-09-12T13:37:57.6131232+08:00||;True|2024-06-28T16:25:59.3159172+08:00||;True|2024-06-28T15:30:49.8257235+08:00||;</History>
|
||||
<History>True|2024-09-14T08:39:29.4677979Z||;True|2024-09-14T16:38:22.2398996+08:00||;True|2024-09-13T13:39:28.9591993+08:00||;True|2024-09-12T17:48:43.1521740+08:00||;True|2024-09-12T17:43:57.0504432+08:00||;True|2024-09-12T17:19:48.6392091+08:00||;True|2024-09-12T13:38:45.0141937+08:00||;False|2024-09-12T13:37:57.6131232+08:00||;True|2024-06-28T16:25:59.3159172+08:00||;True|2024-06-28T15:30:49.8257235+08:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -71,26 +71,30 @@ namespace AxibugProtobuf {
|
||||
"KAwiPwonUHJvdG9idWZfUm9vbV9Ib3N0UGxheWVyX1VwZGF0ZVN0YXRlUmF3",
|
||||
"EhQKDExvYWRTdGF0ZVJhdxgBIAEoDCIuCixQcm90b2J1Zl9Sb29tX0hvc3RQ",
|
||||
"bGF5ZXJfVXBkYXRlU3RhdGVSYXdfUkVTUCIcChpQcm90b2J1Zl9Sb29tX1Bs",
|
||||
"YXllcl9SZWFkeSqaAwoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghD",
|
||||
"TURfUElORxABEgwKCENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhAKC0NN",
|
||||
"RF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01EX1Jvb21f",
|
||||
"TGlzdF9VcGRhdGUQiicSFAoPQ01EX1Jvb21fQ3JlYXRlEO0nEhIKDUNNRF9S",
|
||||
"b29tX0pvaW4Q8ScSEwoOQ01EX1Jvb21fTGVhdmUQ8icSIgodQ01EX1Jvb21f",
|
||||
"TXlSb29tX1N0YXRlX0NoYW5nZWQQ9icSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ",
|
||||
"0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa",
|
||||
"ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs",
|
||||
"X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/",
|
||||
"LhIPCgpDTURfU2NyZWVuENk2Ko8BCglFcnJvckNvZGUSEAoMRVJST1JfREVG",
|
||||
"QVVMEAASDAoIRVJST1JfT0sQARIYChRFUlJPUl9ST09NX05PVF9GT1VORBAK",
|
||||
"EiUKIUVSUk9SX1JPT01fU0xPVF9SRUFETFlfSEFEX1BMQVlFUhALEiEKHUVS",
|
||||
"Uk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRFEDIqHAoJTG9naW5UeXBlEg8K",
|
||||
"C0Jhc2VEZWZhdWx0EAAqSwoKRGV2aWNlVHlwZRIWChJEZXZpY2VUeXBlX0Rl",
|
||||
"ZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQ",
|
||||
"BCpwCg1Sb29tR2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25s",
|
||||
"eUhvc3QQARIRCg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoF",
|
||||
"UGF1c2UQBBIQCgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1",
|
||||
"cxIhCh1Mb2dpblJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAES",
|
||||
"DgoKQWNjb3VudEVychACQgJIAWIGcHJvdG8z"));
|
||||
"YXllcl9SZWFkeSIqChhQcm90b2J1Zl9Sb29tX0dldF9TY3JlZW4SDgoGUm9v",
|
||||
"bUlEGAEgASgFIlMKHVByb3RvYnVmX1Jvb21fR2V0X1NjcmVlbl9SRVNQEg4K",
|
||||
"BlJvb21JRBgBIAEoBRIPCgdGcmFtZUlEGAIgASgFEhEKCVJhd0JpdG1hcBgD",
|
||||
"IAEoDCq0AwoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElO",
|
||||
"RxABEgwKCENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhAKC0NNRF9DSEFU",
|
||||
"TVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01EX1Jvb21fTGlzdF9V",
|
||||
"cGRhdGUQiicSGAoTQ01EX1Jvb21fR2V0X1NjcmVlbhCTJxIUCg9DTURfUm9v",
|
||||
"bV9DcmVhdGUQ7ScSEgoNQ01EX1Jvb21fSm9pbhDxJxITCg5DTURfUm9vbV9M",
|
||||
"ZWF2ZRDyJxIiCh1DTURfUm9vbV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2JxIW",
|
||||
"ChFDTURfUm9vbV9XYWl0U3RlcBDRKBInCiJDTURfUm9vbV9Ib3N0UGxheWVy",
|
||||
"X1VwZGF0ZVN0YXRlUmF3ENQoEhoKFUNNRF9Sb29tX1BsYXllcl9SZWFkeRDY",
|
||||
"KBIgChtDTURfUm9vbV9TaW5nZWxfUGxheWVySW5wdXQQ+i4SHQoYQ01EX1JP",
|
||||
"T01fU1lOX1BsYXllcklucHV0EP8uEg8KCkNNRF9TY3JlZW4Q2TYqjwEKCUVy",
|
||||
"cm9yQ29kZRIQCgxFUlJPUl9ERUZBVUwQABIMCghFUlJPUl9PSxABEhgKFEVS",
|
||||
"Uk9SX1JPT01fTk9UX0ZPVU5EEAoSJQohRVJST1JfUk9PTV9TTE9UX1JFQURM",
|
||||
"WV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9PTV9DQU5UX0RPX0NVUlJfU1RB",
|
||||
"VEUQMiocCglMb2dpblR5cGUSDwoLQmFzZURlZmF1bHQQACpLCgpEZXZpY2VU",
|
||||
"eXBlEhYKEkRldmljZVR5cGVfRGVmYXVsdBAAEgYKAlBDEAESCwoHQW5kcm9p",
|
||||
"ZBACEgcKA0lPUxADEgcKA1BTVhAEKnAKDVJvb21HYW1lU3RhdGUSEgoOTm9u",
|
||||
"ZV9HYW1lU3RhdGUQABIMCghPbmx5SG9zdBABEhEKDVdhaXRSYXdVcGRhdGUQ",
|
||||
"AhINCglXYWl0UmVhZHkQAxIJCgVQYXVzZRAEEhAKDEluT25saW5lR2FtZRAF",
|
||||
"Kk4KEUxvZ2luUmVzdWx0U3RhdHVzEiEKHUxvZ2luUmVzdWx0U3RhdHVzX0Jh",
|
||||
"c2VEZWZhdWx0EAASBgoCT0sQARIOCgpBY2NvdW50RXJyEAJCAkgBYgZwcm90",
|
||||
"bzM="));
|
||||
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.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
||||
@ -117,7 +121,9 @@ namespace AxibugProtobuf {
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_WaitStep_RESP), global::AxibugProtobuf.Protobuf_Room_WaitStep_RESP.Parser, new[]{ "WaitStep", "LoadStateRaw" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw), global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw.Parser, new[]{ "LoadStateRaw" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw_RESP), global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw_RESP.Parser, null, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, null, null, null, null, null)
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, null, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen), global::AxibugProtobuf.Protobuf_Room_Get_Screen.Parser, new[]{ "RoomID" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP), global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null)
|
||||
}));
|
||||
}
|
||||
#endregion
|
||||
@ -154,6 +160,10 @@ namespace AxibugProtobuf {
|
||||
/// </summary>
|
||||
[pbr::OriginalName("CMD_Room_List_Update")] CmdRoomListUpdate = 5002,
|
||||
/// <summary>
|
||||
///房间列表 上行 | 下行 对应 Protobuf_Room_Get_Screen | Protobuf_Room_Get_Screen_RESP
|
||||
/// </summary>
|
||||
[pbr::OriginalName("CMD_Room_Get_Screen")] CmdRoomGetScreen = 5011,
|
||||
/// <summary>
|
||||
///房间内相关
|
||||
/// </summary>
|
||||
[pbr::OriginalName("CMD_Room_Create")] CmdRoomCreate = 5101,
|
||||
@ -180,7 +190,7 @@ namespace AxibugProtobuf {
|
||||
/// 主机玩家 上行 CMD_Room_HostPlayer_UpdateStateRaw消息,上传即时存档
|
||||
/// 主机玩家上传完毕之后,服务器会通知进入Step1
|
||||
///
|
||||
/// Step1:服务器广播"等待-全员加载即时存档" CMD_Room_WaitStep WaitStep=[1] 附带即时存档 ---> 客户端:全员等待(主机玩家一人上传)
|
||||
/// Step1:服务器广播"等待-全员加载即时存档" CMD_Room_WaitStep WaitStep=[1] 附带即时存档 ---> 客户端:全员等待
|
||||
/// 所有玩家确保加载ROM和即时存档,并保持模拟器暂停,准备完毕后 发送 CMD_Room_Player_Ready
|
||||
/// 所有玩家Ready之后,服务器会根据所有玩家延迟提前跑若干Frame,通知进入Step2
|
||||
///
|
||||
@ -5727,6 +5737,434 @@ namespace AxibugProtobuf {
|
||||
|
||||
}
|
||||
|
||||
public sealed partial class Protobuf_Room_Get_Screen : pb::IMessage<Protobuf_Room_Get_Screen>
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
, pb::IBufferMessage
|
||||
#endif
|
||||
{
|
||||
private static readonly pb::MessageParser<Protobuf_Room_Get_Screen> _parser = new pb::MessageParser<Protobuf_Room_Get_Screen>(() => new Protobuf_Room_Get_Screen());
|
||||
private pb::UnknownFieldSet _unknownFields;
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public static pb::MessageParser<Protobuf_Room_Get_Screen> Parser { get { return _parser; } }
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public static pbr::MessageDescriptor Descriptor {
|
||||
get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[24]; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
||||
get { return Descriptor; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen() {
|
||||
OnConstruction();
|
||||
}
|
||||
|
||||
partial void OnConstruction();
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen(Protobuf_Room_Get_Screen other) : this() {
|
||||
roomID_ = other.roomID_;
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen Clone() {
|
||||
return new Protobuf_Room_Get_Screen(this);
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "RoomID" field.</summary>
|
||||
public const int RoomIDFieldNumber = 1;
|
||||
private int roomID_;
|
||||
/// <summary>
|
||||
///房间ID
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int RoomID {
|
||||
get { return roomID_; }
|
||||
set {
|
||||
roomID_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as Protobuf_Room_Get_Screen);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public bool Equals(Protobuf_Room_Get_Screen other) {
|
||||
if (ReferenceEquals(other, null)) {
|
||||
return false;
|
||||
}
|
||||
if (ReferenceEquals(other, this)) {
|
||||
return true;
|
||||
}
|
||||
if (RoomID != other.RoomID) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override int GetHashCode() {
|
||||
int hash = 1;
|
||||
if (RoomID != 0) hash ^= RoomID.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override string ToString() {
|
||||
return pb::JsonFormatter.ToDiagnosticString(this);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void WriteTo(pb::CodedOutputStream output) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
output.WriteRawMessage(this);
|
||||
#else
|
||||
if (RoomID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(RoomID);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
|
||||
if (RoomID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(RoomID);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int CalculateSize() {
|
||||
int size = 0;
|
||||
if (RoomID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void MergeFrom(Protobuf_Room_Get_Screen other) {
|
||||
if (other == null) {
|
||||
return;
|
||||
}
|
||||
if (other.RoomID != 0) {
|
||||
RoomID = other.RoomID;
|
||||
}
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void MergeFrom(pb::CodedInputStream input) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
input.ReadRawMessage(this);
|
||||
#else
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
||||
break;
|
||||
case 8: {
|
||||
RoomID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
|
||||
break;
|
||||
case 8: {
|
||||
RoomID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
public sealed partial class Protobuf_Room_Get_Screen_RESP : pb::IMessage<Protobuf_Room_Get_Screen_RESP>
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
, pb::IBufferMessage
|
||||
#endif
|
||||
{
|
||||
private static readonly pb::MessageParser<Protobuf_Room_Get_Screen_RESP> _parser = new pb::MessageParser<Protobuf_Room_Get_Screen_RESP>(() => new Protobuf_Room_Get_Screen_RESP());
|
||||
private pb::UnknownFieldSet _unknownFields;
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public static pb::MessageParser<Protobuf_Room_Get_Screen_RESP> Parser { get { return _parser; } }
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public static pbr::MessageDescriptor Descriptor {
|
||||
get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[25]; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
||||
get { return Descriptor; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen_RESP() {
|
||||
OnConstruction();
|
||||
}
|
||||
|
||||
partial void OnConstruction();
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen_RESP(Protobuf_Room_Get_Screen_RESP other) : this() {
|
||||
roomID_ = other.roomID_;
|
||||
frameID_ = other.frameID_;
|
||||
rawBitmap_ = other.rawBitmap_;
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen_RESP Clone() {
|
||||
return new Protobuf_Room_Get_Screen_RESP(this);
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "RoomID" field.</summary>
|
||||
public const int RoomIDFieldNumber = 1;
|
||||
private int roomID_;
|
||||
/// <summary>
|
||||
///房间ID
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int RoomID {
|
||||
get { return roomID_; }
|
||||
set {
|
||||
roomID_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "FrameID" field.</summary>
|
||||
public const int FrameIDFieldNumber = 2;
|
||||
private int frameID_;
|
||||
/// <summary>
|
||||
///帧编号
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int FrameID {
|
||||
get { return frameID_; }
|
||||
set {
|
||||
frameID_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "RawBitmap" field.</summary>
|
||||
public const int RawBitmapFieldNumber = 3;
|
||||
private pb::ByteString rawBitmap_ = pb::ByteString.Empty;
|
||||
/// <summary>
|
||||
///渲染层画面
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public pb::ByteString RawBitmap {
|
||||
get { return rawBitmap_; }
|
||||
set {
|
||||
rawBitmap_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as Protobuf_Room_Get_Screen_RESP);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public bool Equals(Protobuf_Room_Get_Screen_RESP other) {
|
||||
if (ReferenceEquals(other, null)) {
|
||||
return false;
|
||||
}
|
||||
if (ReferenceEquals(other, this)) {
|
||||
return true;
|
||||
}
|
||||
if (RoomID != other.RoomID) return false;
|
||||
if (FrameID != other.FrameID) return false;
|
||||
if (RawBitmap != other.RawBitmap) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override int GetHashCode() {
|
||||
int hash = 1;
|
||||
if (RoomID != 0) hash ^= RoomID.GetHashCode();
|
||||
if (FrameID != 0) hash ^= FrameID.GetHashCode();
|
||||
if (RawBitmap.Length != 0) hash ^= RawBitmap.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override string ToString() {
|
||||
return pb::JsonFormatter.ToDiagnosticString(this);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void WriteTo(pb::CodedOutputStream output) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
output.WriteRawMessage(this);
|
||||
#else
|
||||
if (RoomID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(RoomID);
|
||||
}
|
||||
if (FrameID != 0) {
|
||||
output.WriteRawTag(16);
|
||||
output.WriteInt32(FrameID);
|
||||
}
|
||||
if (RawBitmap.Length != 0) {
|
||||
output.WriteRawTag(26);
|
||||
output.WriteBytes(RawBitmap);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
|
||||
if (RoomID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(RoomID);
|
||||
}
|
||||
if (FrameID != 0) {
|
||||
output.WriteRawTag(16);
|
||||
output.WriteInt32(FrameID);
|
||||
}
|
||||
if (RawBitmap.Length != 0) {
|
||||
output.WriteRawTag(26);
|
||||
output.WriteBytes(RawBitmap);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int CalculateSize() {
|
||||
int size = 0;
|
||||
if (RoomID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
|
||||
}
|
||||
if (FrameID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeInt32Size(FrameID);
|
||||
}
|
||||
if (RawBitmap.Length != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeBytesSize(RawBitmap);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void MergeFrom(Protobuf_Room_Get_Screen_RESP other) {
|
||||
if (other == null) {
|
||||
return;
|
||||
}
|
||||
if (other.RoomID != 0) {
|
||||
RoomID = other.RoomID;
|
||||
}
|
||||
if (other.FrameID != 0) {
|
||||
FrameID = other.FrameID;
|
||||
}
|
||||
if (other.RawBitmap.Length != 0) {
|
||||
RawBitmap = other.RawBitmap;
|
||||
}
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void MergeFrom(pb::CodedInputStream input) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
input.ReadRawMessage(this);
|
||||
#else
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
||||
break;
|
||||
case 8: {
|
||||
RoomID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 16: {
|
||||
FrameID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 26: {
|
||||
RawBitmap = input.ReadBytes();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
|
||||
break;
|
||||
case 8: {
|
||||
RoomID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 16: {
|
||||
FrameID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 26: {
|
||||
RawBitmap = input.ReadBytes();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
6
AxibugEmuOnline.Web/AxibugEmuOnline.Web.csproj.user
Normal file
6
AxibugEmuOnline.Web/AxibugEmuOnline.Web.csproj.user
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<NameOfLastUsedPublishProfile>G:\Sin365\AxibugEmuOnline\AxibugEmuOnline.Web\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<DeleteExistingFiles>false</DeleteExistingFiles>
|
||||
<ExcludeApp_Data>false</ExcludeApp_Data>
|
||||
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
|
||||
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
|
||||
<LastUsedPlatform>Any CPU</LastUsedPlatform>
|
||||
<PublishProvider>FileSystem</PublishProvider>
|
||||
<PublishUrl>bin\Release\net8.0\publish\</PublishUrl>
|
||||
<WebPublishMethod>FileSystem</WebPublishMethod>
|
||||
<_TargetId>Folder</_TargetId>
|
||||
<SiteUrlToLaunchAfterPublish />
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||
<ProjectGuid>52a13383-be2d-4945-83b6-bbc54cf39f83</ProjectGuid>
|
||||
<SelfContained>false</SelfContained>
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
https://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<_PublishTargetUrl>G:\Sin365\AxibugEmuOnline\AxibugEmuOnline.Web\bin\Release\net8.0\publish\</_PublishTargetUrl>
|
||||
<History>True|2024-09-12T06:18:38.6992653Z||;True|2024-09-12T14:08:58.4526827+08:00||;True|2024-08-22T14:13:06.3067002+08:00||;True|2024-08-14T10:33:10.9180984+08:00||;True|2024-08-13T18:28:27.5050523+08:00||;True|2024-08-13T18:25:47.6591234+08:00||;True|2024-08-13T18:25:17.5344107+08:00||;True|2024-08-13T17:46:23.4523329+08:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
@ -3,7 +3,25 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.8.34511.84
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AxibugEmuOnline.Web", "AxibugEmuOnline.Web\AxibugEmuOnline.Web.csproj", "{52A13383-BE2D-4945-83B6-BBC54CF39F83}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AxibugEmuOnline.Server", "AxibugEmuOnline.Server\AxibugEmuOnline.Server.csproj", "{9F509DB4-CDB4-4CDB-9C10-805C5E644EEF}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{52A13383-BE2D-4945-83B6-BBC54CF39F83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{52A13383-BE2D-4945-83B6-BBC54CF39F83}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{52A13383-BE2D-4945-83B6-BBC54CF39F83}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{52A13383-BE2D-4945-83B6-BBC54CF39F83}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9F509DB4-CDB4-4CDB-9C10-805C5E644EEF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9F509DB4-CDB4-4CDB-9C10-805C5E644EEF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9F509DB4-CDB4-4CDB-9C10-805C5E644EEF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9F509DB4-CDB4-4CDB-9C10-805C5E644EEF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
|
@ -71,26 +71,30 @@ namespace AxibugProtobuf {
|
||||
"KAwiPwonUHJvdG9idWZfUm9vbV9Ib3N0UGxheWVyX1VwZGF0ZVN0YXRlUmF3",
|
||||
"EhQKDExvYWRTdGF0ZVJhdxgBIAEoDCIuCixQcm90b2J1Zl9Sb29tX0hvc3RQ",
|
||||
"bGF5ZXJfVXBkYXRlU3RhdGVSYXdfUkVTUCIcChpQcm90b2J1Zl9Sb29tX1Bs",
|
||||
"YXllcl9SZWFkeSqaAwoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghD",
|
||||
"TURfUElORxABEgwKCENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhAKC0NN",
|
||||
"RF9DSEFUTVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01EX1Jvb21f",
|
||||
"TGlzdF9VcGRhdGUQiicSFAoPQ01EX1Jvb21fQ3JlYXRlEO0nEhIKDUNNRF9S",
|
||||
"b29tX0pvaW4Q8ScSEwoOQ01EX1Jvb21fTGVhdmUQ8icSIgodQ01EX1Jvb21f",
|
||||
"TXlSb29tX1N0YXRlX0NoYW5nZWQQ9icSFgoRQ01EX1Jvb21fV2FpdFN0ZXAQ",
|
||||
"0SgSJwoiQ01EX1Jvb21fSG9zdFBsYXllcl9VcGRhdGVTdGF0ZVJhdxDUKBIa",
|
||||
"ChVDTURfUm9vbV9QbGF5ZXJfUmVhZHkQ2CgSIAobQ01EX1Jvb21fU2luZ2Vs",
|
||||
"X1BsYXllcklucHV0EPouEh0KGENNRF9ST09NX1NZTl9QbGF5ZXJJbnB1dBD/",
|
||||
"LhIPCgpDTURfU2NyZWVuENk2Ko8BCglFcnJvckNvZGUSEAoMRVJST1JfREVG",
|
||||
"QVVMEAASDAoIRVJST1JfT0sQARIYChRFUlJPUl9ST09NX05PVF9GT1VORBAK",
|
||||
"EiUKIUVSUk9SX1JPT01fU0xPVF9SRUFETFlfSEFEX1BMQVlFUhALEiEKHUVS",
|
||||
"Uk9SX1JPT01fQ0FOVF9ET19DVVJSX1NUQVRFEDIqHAoJTG9naW5UeXBlEg8K",
|
||||
"C0Jhc2VEZWZhdWx0EAAqSwoKRGV2aWNlVHlwZRIWChJEZXZpY2VUeXBlX0Rl",
|
||||
"ZmF1bHQQABIGCgJQQxABEgsKB0FuZHJvaWQQAhIHCgNJT1MQAxIHCgNQU1YQ",
|
||||
"BCpwCg1Sb29tR2FtZVN0YXRlEhIKDk5vbmVfR2FtZVN0YXRlEAASDAoIT25s",
|
||||
"eUhvc3QQARIRCg1XYWl0UmF3VXBkYXRlEAISDQoJV2FpdFJlYWR5EAMSCQoF",
|
||||
"UGF1c2UQBBIQCgxJbk9ubGluZUdhbWUQBSpOChFMb2dpblJlc3VsdFN0YXR1",
|
||||
"cxIhCh1Mb2dpblJlc3VsdFN0YXR1c19CYXNlRGVmYXVsdBAAEgYKAk9LEAES",
|
||||
"DgoKQWNjb3VudEVychACQgJIAWIGcHJvdG8z"));
|
||||
"YXllcl9SZWFkeSIqChhQcm90b2J1Zl9Sb29tX0dldF9TY3JlZW4SDgoGUm9v",
|
||||
"bUlEGAEgASgFIlMKHVByb3RvYnVmX1Jvb21fR2V0X1NjcmVlbl9SRVNQEg4K",
|
||||
"BlJvb21JRBgBIAEoBRIPCgdGcmFtZUlEGAIgASgFEhEKCVJhd0JpdG1hcBgD",
|
||||
"IAEoDCq0AwoJQ29tbWFuZElEEg4KCkNNRF9ERUZBVUwQABIMCghDTURfUElO",
|
||||
"RxABEgwKCENNRF9QT05HEAISDgoJQ01EX0xPR0lOENEPEhAKC0NNRF9DSEFU",
|
||||
"TVNHEKEfEhIKDUNNRF9Sb29tX0xpc3QQiScSGQoUQ01EX1Jvb21fTGlzdF9V",
|
||||
"cGRhdGUQiicSGAoTQ01EX1Jvb21fR2V0X1NjcmVlbhCTJxIUCg9DTURfUm9v",
|
||||
"bV9DcmVhdGUQ7ScSEgoNQ01EX1Jvb21fSm9pbhDxJxITCg5DTURfUm9vbV9M",
|
||||
"ZWF2ZRDyJxIiCh1DTURfUm9vbV9NeVJvb21fU3RhdGVfQ2hhbmdlZBD2JxIW",
|
||||
"ChFDTURfUm9vbV9XYWl0U3RlcBDRKBInCiJDTURfUm9vbV9Ib3N0UGxheWVy",
|
||||
"X1VwZGF0ZVN0YXRlUmF3ENQoEhoKFUNNRF9Sb29tX1BsYXllcl9SZWFkeRDY",
|
||||
"KBIgChtDTURfUm9vbV9TaW5nZWxfUGxheWVySW5wdXQQ+i4SHQoYQ01EX1JP",
|
||||
"T01fU1lOX1BsYXllcklucHV0EP8uEg8KCkNNRF9TY3JlZW4Q2TYqjwEKCUVy",
|
||||
"cm9yQ29kZRIQCgxFUlJPUl9ERUZBVUwQABIMCghFUlJPUl9PSxABEhgKFEVS",
|
||||
"Uk9SX1JPT01fTk9UX0ZPVU5EEAoSJQohRVJST1JfUk9PTV9TTE9UX1JFQURM",
|
||||
"WV9IQURfUExBWUVSEAsSIQodRVJST1JfUk9PTV9DQU5UX0RPX0NVUlJfU1RB",
|
||||
"VEUQMiocCglMb2dpblR5cGUSDwoLQmFzZURlZmF1bHQQACpLCgpEZXZpY2VU",
|
||||
"eXBlEhYKEkRldmljZVR5cGVfRGVmYXVsdBAAEgYKAlBDEAESCwoHQW5kcm9p",
|
||||
"ZBACEgcKA0lPUxADEgcKA1BTVhAEKnAKDVJvb21HYW1lU3RhdGUSEgoOTm9u",
|
||||
"ZV9HYW1lU3RhdGUQABIMCghPbmx5SG9zdBABEhEKDVdhaXRSYXdVcGRhdGUQ",
|
||||
"AhINCglXYWl0UmVhZHkQAxIJCgVQYXVzZRAEEhAKDEluT25saW5lR2FtZRAF",
|
||||
"Kk4KEUxvZ2luUmVzdWx0U3RhdHVzEiEKHUxvZ2luUmVzdWx0U3RhdHVzX0Jh",
|
||||
"c2VEZWZhdWx0EAASBgoCT0sQARIOCgpBY2NvdW50RXJyEAJCAkgBYgZwcm90",
|
||||
"bzM="));
|
||||
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.RoomGameState), typeof(global::AxibugProtobuf.LoginResultStatus), }, null, new pbr::GeneratedClrTypeInfo[] {
|
||||
@ -117,7 +121,9 @@ namespace AxibugProtobuf {
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_WaitStep_RESP), global::AxibugProtobuf.Protobuf_Room_WaitStep_RESP.Parser, new[]{ "WaitStep", "LoadStateRaw" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw), global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw.Parser, new[]{ "LoadStateRaw" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw_RESP), global::AxibugProtobuf.Protobuf_Room_HostPlayer_UpdateStateRaw_RESP.Parser, null, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, null, null, null, null, null)
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Player_Ready), global::AxibugProtobuf.Protobuf_Room_Player_Ready.Parser, null, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen), global::AxibugProtobuf.Protobuf_Room_Get_Screen.Parser, new[]{ "RoomID" }, null, null, null, null),
|
||||
new pbr::GeneratedClrTypeInfo(typeof(global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP), global::AxibugProtobuf.Protobuf_Room_Get_Screen_RESP.Parser, new[]{ "RoomID", "FrameID", "RawBitmap" }, null, null, null, null)
|
||||
}));
|
||||
}
|
||||
#endregion
|
||||
@ -154,6 +160,10 @@ namespace AxibugProtobuf {
|
||||
/// </summary>
|
||||
[pbr::OriginalName("CMD_Room_List_Update")] CmdRoomListUpdate = 5002,
|
||||
/// <summary>
|
||||
///房间列表 上行 | 下行 对应 Protobuf_Room_Get_Screen | Protobuf_Room_Get_Screen_RESP
|
||||
/// </summary>
|
||||
[pbr::OriginalName("CMD_Room_Get_Screen")] CmdRoomGetScreen = 5011,
|
||||
/// <summary>
|
||||
///房间内相关
|
||||
/// </summary>
|
||||
[pbr::OriginalName("CMD_Room_Create")] CmdRoomCreate = 5101,
|
||||
@ -180,7 +190,7 @@ namespace AxibugProtobuf {
|
||||
/// 主机玩家 上行 CMD_Room_HostPlayer_UpdateStateRaw消息,上传即时存档
|
||||
/// 主机玩家上传完毕之后,服务器会通知进入Step1
|
||||
///
|
||||
/// Step1:服务器广播"等待-全员加载即时存档" CMD_Room_WaitStep WaitStep=[1] 附带即时存档 ---> 客户端:全员等待(主机玩家一人上传)
|
||||
/// Step1:服务器广播"等待-全员加载即时存档" CMD_Room_WaitStep WaitStep=[1] 附带即时存档 ---> 客户端:全员等待
|
||||
/// 所有玩家确保加载ROM和即时存档,并保持模拟器暂停,准备完毕后 发送 CMD_Room_Player_Ready
|
||||
/// 所有玩家Ready之后,服务器会根据所有玩家延迟提前跑若干Frame,通知进入Step2
|
||||
///
|
||||
@ -5727,6 +5737,434 @@ namespace AxibugProtobuf {
|
||||
|
||||
}
|
||||
|
||||
public sealed partial class Protobuf_Room_Get_Screen : pb::IMessage<Protobuf_Room_Get_Screen>
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
, pb::IBufferMessage
|
||||
#endif
|
||||
{
|
||||
private static readonly pb::MessageParser<Protobuf_Room_Get_Screen> _parser = new pb::MessageParser<Protobuf_Room_Get_Screen>(() => new Protobuf_Room_Get_Screen());
|
||||
private pb::UnknownFieldSet _unknownFields;
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public static pb::MessageParser<Protobuf_Room_Get_Screen> Parser { get { return _parser; } }
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public static pbr::MessageDescriptor Descriptor {
|
||||
get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[24]; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
||||
get { return Descriptor; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen() {
|
||||
OnConstruction();
|
||||
}
|
||||
|
||||
partial void OnConstruction();
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen(Protobuf_Room_Get_Screen other) : this() {
|
||||
roomID_ = other.roomID_;
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen Clone() {
|
||||
return new Protobuf_Room_Get_Screen(this);
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "RoomID" field.</summary>
|
||||
public const int RoomIDFieldNumber = 1;
|
||||
private int roomID_;
|
||||
/// <summary>
|
||||
///房间ID
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int RoomID {
|
||||
get { return roomID_; }
|
||||
set {
|
||||
roomID_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as Protobuf_Room_Get_Screen);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public bool Equals(Protobuf_Room_Get_Screen other) {
|
||||
if (ReferenceEquals(other, null)) {
|
||||
return false;
|
||||
}
|
||||
if (ReferenceEquals(other, this)) {
|
||||
return true;
|
||||
}
|
||||
if (RoomID != other.RoomID) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override int GetHashCode() {
|
||||
int hash = 1;
|
||||
if (RoomID != 0) hash ^= RoomID.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override string ToString() {
|
||||
return pb::JsonFormatter.ToDiagnosticString(this);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void WriteTo(pb::CodedOutputStream output) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
output.WriteRawMessage(this);
|
||||
#else
|
||||
if (RoomID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(RoomID);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
|
||||
if (RoomID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(RoomID);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int CalculateSize() {
|
||||
int size = 0;
|
||||
if (RoomID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void MergeFrom(Protobuf_Room_Get_Screen other) {
|
||||
if (other == null) {
|
||||
return;
|
||||
}
|
||||
if (other.RoomID != 0) {
|
||||
RoomID = other.RoomID;
|
||||
}
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void MergeFrom(pb::CodedInputStream input) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
input.ReadRawMessage(this);
|
||||
#else
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
||||
break;
|
||||
case 8: {
|
||||
RoomID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
|
||||
break;
|
||||
case 8: {
|
||||
RoomID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
public sealed partial class Protobuf_Room_Get_Screen_RESP : pb::IMessage<Protobuf_Room_Get_Screen_RESP>
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
, pb::IBufferMessage
|
||||
#endif
|
||||
{
|
||||
private static readonly pb::MessageParser<Protobuf_Room_Get_Screen_RESP> _parser = new pb::MessageParser<Protobuf_Room_Get_Screen_RESP>(() => new Protobuf_Room_Get_Screen_RESP());
|
||||
private pb::UnknownFieldSet _unknownFields;
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public static pb::MessageParser<Protobuf_Room_Get_Screen_RESP> Parser { get { return _parser; } }
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public static pbr::MessageDescriptor Descriptor {
|
||||
get { return global::AxibugProtobuf.ProtobufAxibugEmuOnlineReflection.Descriptor.MessageTypes[25]; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
pbr::MessageDescriptor pb::IMessage.Descriptor {
|
||||
get { return Descriptor; }
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen_RESP() {
|
||||
OnConstruction();
|
||||
}
|
||||
|
||||
partial void OnConstruction();
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen_RESP(Protobuf_Room_Get_Screen_RESP other) : this() {
|
||||
roomID_ = other.roomID_;
|
||||
frameID_ = other.frameID_;
|
||||
rawBitmap_ = other.rawBitmap_;
|
||||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public Protobuf_Room_Get_Screen_RESP Clone() {
|
||||
return new Protobuf_Room_Get_Screen_RESP(this);
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "RoomID" field.</summary>
|
||||
public const int RoomIDFieldNumber = 1;
|
||||
private int roomID_;
|
||||
/// <summary>
|
||||
///房间ID
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int RoomID {
|
||||
get { return roomID_; }
|
||||
set {
|
||||
roomID_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "FrameID" field.</summary>
|
||||
public const int FrameIDFieldNumber = 2;
|
||||
private int frameID_;
|
||||
/// <summary>
|
||||
///帧编号
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int FrameID {
|
||||
get { return frameID_; }
|
||||
set {
|
||||
frameID_ = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Field number for the "RawBitmap" field.</summary>
|
||||
public const int RawBitmapFieldNumber = 3;
|
||||
private pb::ByteString rawBitmap_ = pb::ByteString.Empty;
|
||||
/// <summary>
|
||||
///渲染层画面
|
||||
/// </summary>
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public pb::ByteString RawBitmap {
|
||||
get { return rawBitmap_; }
|
||||
set {
|
||||
rawBitmap_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override bool Equals(object other) {
|
||||
return Equals(other as Protobuf_Room_Get_Screen_RESP);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public bool Equals(Protobuf_Room_Get_Screen_RESP other) {
|
||||
if (ReferenceEquals(other, null)) {
|
||||
return false;
|
||||
}
|
||||
if (ReferenceEquals(other, this)) {
|
||||
return true;
|
||||
}
|
||||
if (RoomID != other.RoomID) return false;
|
||||
if (FrameID != other.FrameID) return false;
|
||||
if (RawBitmap != other.RawBitmap) return false;
|
||||
return Equals(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override int GetHashCode() {
|
||||
int hash = 1;
|
||||
if (RoomID != 0) hash ^= RoomID.GetHashCode();
|
||||
if (FrameID != 0) hash ^= FrameID.GetHashCode();
|
||||
if (RawBitmap.Length != 0) hash ^= RawBitmap.GetHashCode();
|
||||
if (_unknownFields != null) {
|
||||
hash ^= _unknownFields.GetHashCode();
|
||||
}
|
||||
return hash;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public override string ToString() {
|
||||
return pb::JsonFormatter.ToDiagnosticString(this);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void WriteTo(pb::CodedOutputStream output) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
output.WriteRawMessage(this);
|
||||
#else
|
||||
if (RoomID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(RoomID);
|
||||
}
|
||||
if (FrameID != 0) {
|
||||
output.WriteRawTag(16);
|
||||
output.WriteInt32(FrameID);
|
||||
}
|
||||
if (RawBitmap.Length != 0) {
|
||||
output.WriteRawTag(26);
|
||||
output.WriteBytes(RawBitmap);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(output);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
|
||||
if (RoomID != 0) {
|
||||
output.WriteRawTag(8);
|
||||
output.WriteInt32(RoomID);
|
||||
}
|
||||
if (FrameID != 0) {
|
||||
output.WriteRawTag(16);
|
||||
output.WriteInt32(FrameID);
|
||||
}
|
||||
if (RawBitmap.Length != 0) {
|
||||
output.WriteRawTag(26);
|
||||
output.WriteBytes(RawBitmap);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
_unknownFields.WriteTo(ref output);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public int CalculateSize() {
|
||||
int size = 0;
|
||||
if (RoomID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomID);
|
||||
}
|
||||
if (FrameID != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeInt32Size(FrameID);
|
||||
}
|
||||
if (RawBitmap.Length != 0) {
|
||||
size += 1 + pb::CodedOutputStream.ComputeBytesSize(RawBitmap);
|
||||
}
|
||||
if (_unknownFields != null) {
|
||||
size += _unknownFields.CalculateSize();
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void MergeFrom(Protobuf_Room_Get_Screen_RESP other) {
|
||||
if (other == null) {
|
||||
return;
|
||||
}
|
||||
if (other.RoomID != 0) {
|
||||
RoomID = other.RoomID;
|
||||
}
|
||||
if (other.FrameID != 0) {
|
||||
FrameID = other.FrameID;
|
||||
}
|
||||
if (other.RawBitmap.Length != 0) {
|
||||
RawBitmap = other.RawBitmap;
|
||||
}
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
public void MergeFrom(pb::CodedInputStream input) {
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
input.ReadRawMessage(this);
|
||||
#else
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
|
||||
break;
|
||||
case 8: {
|
||||
RoomID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 16: {
|
||||
FrameID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 26: {
|
||||
RawBitmap = input.ReadBytes();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
|
||||
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
|
||||
uint tag;
|
||||
while ((tag = input.ReadTag()) != 0) {
|
||||
switch(tag) {
|
||||
default:
|
||||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
|
||||
break;
|
||||
case 8: {
|
||||
RoomID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 16: {
|
||||
FrameID = input.ReadInt32();
|
||||
break;
|
||||
}
|
||||
case 26: {
|
||||
RawBitmap = input.ReadBytes();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
@ -17,6 +17,7 @@ enum CommandID
|
||||
//房间列表相关(仅用于列表显示)
|
||||
CMD_Room_List = 5001; //房间列表 上行 | 下行 对应 Protobuf_Room_List | Protobuf_Room_List_RESP
|
||||
CMD_Room_List_Update = 5002; //房间单个房间信息更新 对应 Protobuf_Room_Update_RESP
|
||||
CMD_Room_Get_Screen = 5011; //房间列表 上行 | 下行 对应 Protobuf_Room_Get_Screen | Protobuf_Room_Get_Screen_RESP
|
||||
|
||||
//房间内相关
|
||||
CMD_Room_Create = 5101; //房间创建 对应 Protobuf_Room_Create | Protobuf_Room_Create_RESP
|
||||
@ -264,3 +265,15 @@ message Protobuf_Room_HostPlayer_UpdateStateRaw_RESP
|
||||
message Protobuf_Room_Player_Ready
|
||||
{
|
||||
}
|
||||
|
||||
message Protobuf_Room_Get_Screen
|
||||
{
|
||||
int32 RoomID = 1;//房间ID
|
||||
}
|
||||
|
||||
message Protobuf_Room_Get_Screen_RESP
|
||||
{
|
||||
int32 RoomID = 1;//房间ID
|
||||
int32 FrameID = 2;//帧编号
|
||||
bytes RawBitmap = 3;//渲染层画面
|
||||
}
|
Loading…
Reference in New Issue
Block a user