private void PlayerJoinedCallback(PlayerJoinedMessage msg, float travelTime) { var p = new MatchPlayer(msg.ClientGuid, msg.CtrlType, msg.InitialCharacter); players.Add(p); if (inLobby) { SpawnLobbyBall(p); } StopLobbyTimer(); if (MatchPlayerAdded != null) { MatchPlayerAdded(this, new MatchPlayerEventArgs(p, msg.ClientGuid == myGuid)); } }
private void SpawnLobbyBall(MatchPlayer player) { var spawner = LobbyReferences.Active.BallSpawner; if (player.BallObject != null) { player.BallObject.CreateRemovalParticles(); Destroy(player.BallObject.gameObject); } string name = clients.First(a => a.Guid == player.ClientGuid).Name + " (" + GameInput.GetControlTypeName(player.CtrlType) + ")"; player.BallObject = spawner.SpawnBall(PlayerType.Normal, (player.ClientGuid == myGuid) ? player.CtrlType : ControlType.None, player.CharacterId, name); if (player.ClientGuid != myGuid) { Marker marker = Instantiate(markerPrefab); marker.transform.SetParent(LobbyReferences.Active.MarkerContainer, false); marker.Color = Color.clear; marker.Text = name; marker.Target = player.BallObject.transform; } }
public MatchPlayerEventArgs(MatchPlayer player, bool isLocal) { Player = player; IsLocal = isLocal; }