Example #1
0
    void CheckAllReady()
    {
        if (!PhotonNetwork.isMasterClient || PhotonNetwork.room.PlayerCount < 2)
        {
            return;
        }

        int playersReady = 0;

        foreach (PhotonPlayer p in PhotonNetwork.playerList)
        {
            if (p.CustomProperties.ContainsKey(Constants.PLAYER_READY) && (bool)p.CustomProperties[Constants.PLAYER_READY])
            {
                playersReady++;
            }
        }

        if (playersReady == PhotonNetwork.room.PlayerCount)
        {
            // loop over all players in room and give them a spawnpoint based on order in list
            for (int i = 0; i < PhotonNetwork.room.PlayerCount; i++)
            {
                PhotonHelpers.SetPlayerProperty(PhotonNetwork.playerList[i], Constants.SPAWN_ID, i);
            }

            CancelInvoke("CheckAllReady");

            PhotonNetwork.LoadLevel(PhotonNetwork.player.CustomProperties[Constants.LEVEL_SCENE_NAME].ToString());
        }
    }
Example #2
0
    public void OnLevelSelected(int level)
    {
        // set level ID of nominated level and set that we are ready
        PhotonHelpers.SetPlayerProperty(PhotonNetwork.player, Constants.PLAYER_READY, true);
        PhotonHelpers.SetPlayerProperty(PhotonNetwork.player, Constants.NOMINATED_LEVEL, level);
        ChangeAllButtonsState(false);

        // tell server that we are selected and ready
        _playerInfo.photonView.RPC("SetReadyUI", PhotonTargets.All, PhotonNetwork.player.ID, true);
    }
Example #3
0
    private bool m_bIsConnecting = false;       // If we are in the progress of connecting to a room

    void Awake()
    {
        // Register helpers used throughout application
        PhotonHelpers.register();

        PhotonNetwork.AutomaticallySyncScene = true;

        // Connect to photon
        PhotonNetwork.ConnectUsingSettings();
        PhotonNetwork.GameVersion = gameVersion;
    }
Example #4
0
 /// <summary>
 /// Helper for spawning a monster selected by passed in player. This
 /// is used by the PlayerController
 /// </summary>
 /// <param name="prefabName">Name of prefab</param>
 /// <param name="spawningPlayer">Player that is spawning in the monster</param>
 public void spawnMonster(string prefabName, Photon.Realtime.Player spawningPlayer)
 {
     if (PhotonNetwork.IsConnected)
     {
         photonView.RPC("spawnMonsterRPC", PhotonHelpers.getFirstPlayerThatIsnt(spawningPlayer), prefabName);
     }
     else
     {
         spawnMonsterRPC(prefabName);
     }
 }
Example #5
0
    void LevelToPlay(string level, string levelName, int winnerIndex, int one, int two, int three, int four)
    {
        // stop count and cancel to keep checking if all is selected
        _counter.CancelCount();
        CancelInvoke("AllNominatedLevel");

        // set witch level we will load later and reset ready for next screen
        PhotonHelpers.SetPlayerProperty(PhotonNetwork.player, Constants.LEVEL_SCENE_NAME, level);
        PhotonHelpers.SetPlayerProperty(PhotonNetwork.player, Constants.PLAYER_READY, false);

        // starrt the animation
        _handle = Timing.RunCoroutine(_PickRandomLevel(winnerIndex, levelName, new int[] { one, two, three, four }));
    }
Example #6
0
    IEnumerator <float> _showWinner(string name)
    {
        yield return(Timing.WaitForSeconds(1));

        PhotonHelpers.SetPlayerProperty(PhotonNetwork.player, Constants.PLAYER_READY, false);

        _content.SetActive(true);
        _winnerNameText.text = name;

        // set witch page to set active when returning to menu scene and that all players left in room need to claim a UIPlayerBox
        MainMenuSystem.reclaimPlayerUI = true;
        MainMenuSystem.startPage       = "LevelSelectScreen";

        yield return(Timing.WaitForSeconds(3));

        if (PhotonNetwork.isMasterClient)
        {
            PhotonNetwork.LoadLevel("Menu");
        }
    }
Example #7
0
    public void OnReady()
    {
        if (_imReady)
        {
            return;
        }

        _imReady = true;
        ChangeAllButtonsState(false);

        // set nickname to the name of the character for now (this will store the steam nick later instead)
        PhotonNetwork.player.NickName = _currentView.name;

        // set character chosen so we can spawn it when the game starts
        PhotonHelpers.SetPlayerProperty(PhotonNetwork.player, Constants.CHARACTER_NAME, _currentView.name);
        PhotonHelpers.SetPlayerProperty(PhotonNetwork.player, Constants.SKIN_ID, _currentSkin);
        PhotonHelpers.SetPlayerProperty(PhotonNetwork.player, Constants.PLAYER_READY, true);

        // tell everyone to set that this player is ready in thier UI
        _playerInfo.photonView.RPC("SetReadyUI", PhotonTargets.All, PhotonNetwork.player.ID, true);
    }