예제 #1
0
        public virtual void PlayerConnect(int Player, bool isTeacher)
        {
            var    loadedPlayer       = GetPlayer(isTeacher);
            Player instantiatedPlayer = NetworkingManager.Instantiate(loadedPlayer).GetComponent <Player>();

            instantiatedPlayer.id = NetworkingManager.GetNewPlayerID();
            teacherId             = instantiatedPlayer.id;

            players.Add(instantiatedPlayer);
            NetworkingManager.rigsData.Add(instantiatedPlayer.id, instantiatedPlayer.GetRigData());

            //if seat system was implemented positon would be updated here
            //insead it is implemnted in the override in MultiplayerRoomSimulator.cs
            //
            //instantiatedPlayer.transform.position = GetSeatPositon();
            //instantiatedPlayer.transform.localRotation *= GetSeatRotation();
        }
예제 #2
0
        public override void PlayerConnect(int id, bool isTeacher)
        {
            var    loadedPlayer       = GetSimulatedPlayer(isTeacher);
            Player instantiatedPlayer = NetworkingManager.Instantiate(loadedPlayer).GetComponent <Player>();

            instantiatedPlayer.id = NetworkingManager.GetNewPlayerID();
            teacherId             = instantiatedPlayer.id;

            players.Add(instantiatedPlayer);
            NetworkingManager.rigsData.Add(instantiatedPlayer.id, instantiatedPlayer.GetRigData());

            //to be replaced by a seat system where the enviornement puts forth a list of available seats in the enviorment
            //and moves the player at an available seat or one they choose before/while connected

            if (!isTeacher)
            {
                players[players.Count - 1].transform.position       = GetSeatPositon();
                players[players.Count - 1].transform.localRotation *= GetSeatRotation();
            }
        }
예제 #3
0
        protected override void Start()
        {
            if (debugAsTeacher)
            {
                base.PlayerConnect(NetworkingManager.GetNewPlayerID(), true);
            }
            else
            {
                PlayerConnect(NetworkingManager.GetNewPlayerID(), true);
            }

            DebugPlayer = players[players.Count - 1];

            int playerIndex = Random.Range(0, numSimulatedStudents);

            if (debugAsTeacher)
            {
                playerIndex = -1;
            }

            base.Start();
            for (int i = 1; i < numSimulatedStudents + 1; i++)
            {
                if (playerIndex.Equals(i))
                {
                    base.PlayerConnect(NetworkingManager.GetNewPlayerID(), false);
                    players[players.Count - 1].transform.position  = GetSeatPositon();
                    players[players.Count - 1].transform.rotation *= GetSeatRotation();
                    DebugPlayer = players[players.Count - 1];
                }
                else
                {
                    PlayerConnect(NetworkingManager.GetNewPlayerID(), false);
                }
            }
        }