private IEnumerator SetWelcomeMessageAndSetReadyAtTheEndOfFrame()
        {
            yield return(new WaitForSeconds(1f));

            var i = 0;

            for (; i < PlayerNumbering.SortedPlayers.Length; i++)
            {
                if (PhotonNetwork.LocalPlayer.ActorNumber == PlayerNumbering.SortedPlayers[i].ActorNumber)
                {
                    break;
                }
            }

            OnlinePlayReady?.Invoke();

            if (PhotonNetwork.IsMasterClient)
            {
                PlayerJoined?.Invoke(i);
            }

            PlayerSetup?.Invoke(i);
        }
Exemple #2
0
        private IEnumerator InvokeRoomJoinedMethod()
        {
            //This is the actual method called in the connection process
            if (debug)
            {
                Debug.Log("[StartMenuController] InvokeRoomJoinedMethod IEnumerator called");
            }
            yield return(new WaitForSeconds(1.0f));

            var i = 0;

            for (; i < PlayerNumbering.SortedPlayers.Length; i++)
            {
                if (PhotonNetwork.LocalPlayer.ActorNumber == PlayerNumbering.SortedPlayers[i].ActorNumber)
                {
                    break;
                }
            }

            OnlinePlayReady?.Invoke();

            //Only the MasterClient should activate players
            if (PhotonNetwork.IsMasterClient)
            {
                PlayerJoined?.Invoke(i);
                GameCanStart?.Invoke();
            }
            if (debug)
            {
                Debug.Log("[StartMenuController] PlayerJoined invoked");
            }
            SetCamera?.Invoke(i);
            if (debug)
            {
                Debug.Log("[StartMenuController] SetCamera invoked");
            }
        }
Exemple #3
0
        private IEnumerator InvokeRoomJoinedMethod()
        {
            yield return(new WaitForSeconds(0.1f));

            var i = 0;

            for (; i < PlayerNumbering.SortedPlayers.Length; i++)
            {
                if (PhotonNetwork.LocalPlayer.ActorNumber == PlayerNumbering.SortedPlayers[i].ActorNumber)
                {
                    break;
                }
            }

            Debug.Log("You are Actor : " + PhotonNetwork.LocalPlayer.ActorNumber + " \n You are controlling Avatar " + i);

            OnlinePlayReady?.Invoke();

            //Only the MasterClient should instantiate players
            if (PhotonNetwork.IsMasterClient)
            {
                PlayerJoined?.Invoke(i);
            }
        }
        private void launchGameRPC(int id)
        {
            if (PhotonNetwork.AuthValues.UserId == AvatarToUserId[id])
            {
                mainCamera.SetActive(false);
                players[id].PlayerCamera.enabled        = true;
                players[id].PlayerAudioListener.enabled = true;

                Cursor.lockState = CursorLockMode.Locked;
                Cursor.visible   = false;

                soundManager.initAmbientSound();
                invHUD.SetActive(true);
                playerGUI.SetActive(true);
                skillsController.SetActive(true);
                PlayerListScripts.GetComponent <PlayerSoundObjects>().enabled = true;
                //playersActionsActivated[id].GetComponent<PlayerIntent>().activeScripts(id);
                menuController.roomLobby.SetActive(false);
            }

            moveDirection[id]  = Vector3.zero;
            rotationPlayer[id] = Vector3.zero;
            OnlinePlayReady?.Invoke(id);
        }