diff options
Diffstat (limited to 'Client/Assembly-CSharp/InnerNet')
-rw-r--r-- | Client/Assembly-CSharp/InnerNet/InnerNetClient.cs | 3 | ||||
-rw-r--r-- | Client/Assembly-CSharp/InnerNet/InnerNetServer.cs | 10 |
2 files changed, 7 insertions, 6 deletions
diff --git a/Client/Assembly-CSharp/InnerNet/InnerNetClient.cs b/Client/Assembly-CSharp/InnerNet/InnerNetClient.cs index e2198e2..28b6379 100644 --- a/Client/Assembly-CSharp/InnerNet/InnerNetClient.cs +++ b/Client/Assembly-CSharp/InnerNet/InnerNetClient.cs @@ -832,10 +832,11 @@ namespace InnerNet this.OnPlayerJoined(client);
});
}
- if (!this.AmHost || amHost)
+ if (!this.AmHost || amHost) // 非主机就处理到这里
{
return;
}
+ // 下面是主机玩家的操作,收到这个协议的时候切换场景
obj = this.Dispatcher;
lock (obj)
{
diff --git a/Client/Assembly-CSharp/InnerNet/InnerNetServer.cs b/Client/Assembly-CSharp/InnerNet/InnerNetServer.cs index f0b37a1..56f048b 100644 --- a/Client/Assembly-CSharp/InnerNet/InnerNetServer.cs +++ b/Client/Assembly-CSharp/InnerNet/InnerNetServer.cs @@ -396,13 +396,13 @@ namespace InnerNet switch (this.GameState) { case GameStates.NotStarted: - this.HandleNewGameJoin(client); + this.HandleNewGameJoin(client); //host向其他玩家分发所有玩家的连接数据 break; default: { MessageWriter messageWriter2 = MessageWriter.Get(SendOption.Reliable); - messageWriter2.StartMessage(1); - messageWriter2.Write(2); + messageWriter2.StartMessage(1); // JoinGame
+ messageWriter2.Write(2); messageWriter2.EndMessage(); client.Connection.Send(messageWriter2); messageWriter2.Recycle(); @@ -507,8 +507,8 @@ namespace InnerNet try { this.WriteJoinedMessage(client, messageWriter2, true); - client.Connection.Send(messageWriter2); - this.BroadcastJoinMessage(client, messageWriter2); + client.Connection.Send(messageWriter2); // ->client + this.BroadcastJoinMessage(client, messageWriter2); // 所有玩家 } catch { |