diff options
Diffstat (limited to 'Client/Assembly-CSharp/AmongUsClient.cs')
-rw-r--r-- | Client/Assembly-CSharp/AmongUsClient.cs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/Client/Assembly-CSharp/AmongUsClient.cs b/Client/Assembly-CSharp/AmongUsClient.cs index 433144e..12f7d36 100644 --- a/Client/Assembly-CSharp/AmongUsClient.cs +++ b/Client/Assembly-CSharp/AmongUsClient.cs @@ -240,6 +240,7 @@ public class AmongUsClient : InnerNetClient goto IL_324; } + // protected override void OnBecomeHost() { ClientData clientData = base.FindClientById(this.ClientId); @@ -293,16 +294,16 @@ public class AmongUsClient : InnerNetClient yield break; } - // 加入游戏回调 + // 一个玩家加入游戏后,会创建gameObject并将它的数据加入GameData.AllPlayers列表 protected override void OnPlayerJoined(ClientData data) { if (DestroyableSingleton<GameStartManager>.InstanceExists) { DestroyableSingleton<GameStartManager>.Instance.ResetStartState(); } - if (base.AmHost && data.InScene) // 如果本机是Local host + if (base.AmHost && data.InScene) // 如果本机是host,才会创建player { - this.CreatePlayer(data); + this.CreatePlayer(data); // } } @@ -314,6 +315,7 @@ public class AmongUsClient : InnerNetClient } if (!string.IsNullOrWhiteSpace(this.OnlineScene)) { + // 切换场景 SceneManager.LoadScene(this.OnlineScene); } } @@ -436,6 +438,7 @@ public class AmongUsClient : InnerNetClient } } + // 创建角色gameObject,并加入GameData.AllPlayers列表 private void CreatePlayer(ClientData clientData) { if (clientData.Character) @@ -474,8 +477,8 @@ public class AmongUsClient : InnerNetClient playerControl.PlayerId = (byte)availableId; clientData.Character = playerControl; base.Spawn(playerControl, clientData.Id, SpawnFlags.IsClientCharacter); - GameData.Instance.AddPlayer(playerControl); - if (PlayerControl.GameOptions.isDefaults) + GameData.Instance.AddPlayer(playerControl); // 添加到GameData的AllPlayers里
+ if (PlayerControl.GameOptions.isDefaults) { PlayerControl.GameOptions.SetRecommendations(GameData.Instance.PlayerCount, AmongUsClient.Instance.GameMode); } |