Пример #1
0
        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);
        }
Пример #2
0
        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;
        }