diff --git a/Runtime/GameKcpClient.cs b/Runtime/GameKcpClient.cs index 904eaef..8d8d622 100644 --- a/Runtime/GameKcpClient.cs +++ b/Runtime/GameKcpClient.cs @@ -98,6 +98,11 @@ namespace DofLibrary //Debug.Log("[ProcessMessage]GameFinish"); _receiver.OnGameFinish(serverMessage.GameFinish); } + else if (serverMessage.Heartbeat != null) + { + //Debug.Log("[ProcessMessage]Heartbeat"); + _receiver.OnHeartbeat(serverMessage.Heartbeat); + } } /// diff --git a/Runtime/IMessageReceiver.cs b/Runtime/IMessageReceiver.cs index ad195ae..77af518 100644 --- a/Runtime/IMessageReceiver.cs +++ b/Runtime/IMessageReceiver.cs @@ -41,5 +41,10 @@ namespace DofLibrary /// /// 两个玩家的得分 void OnGameFinish(GameFinish gameFinish); + + /// + /// 心跳包 + /// + void OnHeartbeat(Heartbeat heartbeat); } } \ No newline at end of file diff --git a/Runtime/NetworkGen/Messages.cs b/Runtime/NetworkGen/Messages.cs index 3f7c664..001e061 100644 --- a/Runtime/NetworkGen/Messages.cs +++ b/Runtime/NetworkGen/Messages.cs @@ -137,6 +137,15 @@ namespace Dof public bool ShouldSerializeGameFinish() => __pbn__actual.Is(5); public void ResetGameFinish() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__actual, 5); + [global::ProtoBuf.ProtoMember(21, Name = @"heartbeat")] + public Heartbeat Heartbeat + { + get => __pbn__actual.Is(21) ? ((Heartbeat)__pbn__actual.Object) : default; + set => __pbn__actual = new global::ProtoBuf.DiscriminatedUnionObject(21, value); + } + public bool ShouldSerializeHeartbeat() => __pbn__actual.Is(21); + public void ResetHeartbeat() => global::ProtoBuf.DiscriminatedUnionObject.Reset(ref __pbn__actual, 21); + } [global::ProtoBuf.ProtoContract()] @@ -191,6 +200,9 @@ namespace Dof [global::System.ComponentModel.DefaultValue("")] public string IosGeneration { get; set; } = ""; + [global::ProtoBuf.ProtoMember(4, Name = @"diff_count")] + public int DiffCount { get; set; } + } [global::ProtoBuf.ProtoContract()] diff --git a/Runtime/ServerProto/messages.proto b/Runtime/ServerProto/messages.proto index 658de79..f1643f5 100644 --- a/Runtime/ServerProto/messages.proto +++ b/Runtime/ServerProto/messages.proto @@ -24,6 +24,8 @@ message ServerMessage { LevelStart level_start = 3; PointFound point_found = 4; GameFinish game_finish = 5; + + Heartbeat heartbeat = 21; } } @@ -41,6 +43,7 @@ message LevelResource { string level_id = 1; string android_generation = 2; string ios_generation = 3; + int32 diff_count = 4; } // PlayerEntered 服务端接收到 PlayerEnter 消息后发还给客户端的回执