summaryrefslogtreecommitdiff
path: root/Client/Assembly-CSharp/InnerNet
diff options
context:
space:
mode:
Diffstat (limited to 'Client/Assembly-CSharp/InnerNet')
-rw-r--r--Client/Assembly-CSharp/InnerNet/InnerNetClient.cs3
-rw-r--r--Client/Assembly-CSharp/InnerNet/InnerNetServer.cs10
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
{