public override void ChangePlayerQuality(int id, int newQuality) { if (newQuality < 1) { newQuality = 1; } else if (newQuality > 3) { newQuality = 3; } var playerCurrent = GetPlayerByID(id); GameObject newPrefab = GetSimulatedStudentAvatarByQuality(newQuality); NetworkedPlayerSimulator newPlayer = NetworkingManager.Instantiate(newPrefab, playerCurrent.transform.position, playerCurrent.transform.rotation, playerCurrent.transform.parent).GetComponent <NetworkedPlayerSimulator>(); newPlayer.id = playerCurrent.id; newPlayer.quality = newQuality; newPlayer.isSpeaking = playerCurrent.isSpeaking; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ players[players.IndexOf(playerCurrent)] = newPlayer; NetworkingManager.Destroy(playerCurrent.gameObject); }
public virtual void PlayerDisconnect(int id) { Player player = GetPlayerByID(id); if (speakingPlayerIds.Contains(player.id)) { VoiceChatManager.RemoveVoiceConnection(player.id); } players.Remove(player); NetworkingManager.rigsData.Remove(player.id); NetworkingManager.Destroy(player.gameObject); return; }