Example #1
0
    // loop over players and show their scores
    private void UpdateScoreText()
    {
        playerscores.Clear();
        string _scoretext = "";

        foreach (var player in PhotonNetwork.CurrentRoom.Players)
        {
            var _score = CustomPlayerProperties.GetCurrentScore(player.Value);
            if (playerscores.ContainsKey(_score))
            {
                playerscores[_score].Add(player.Value.NickName);
            }
            else
            {
                playerscores.Add(_score, new List <string>(new string[] { player.Value.NickName }));
            }
        }
        var _keys = playerscores.Keys.ToList();

        _keys.Sort();

        var _counter = 1;

        for (var i = _keys.Count - 1; i >= 0; i--)
        {
            foreach (var pscore in playerscores[_keys[i]])
            {
                _scoretext += $"{_counter}. {pscore} : {_keys[i]} \n";
            }
        }
        scoreText.text = _scoretext;
    }
Example #2
0
 private void SceneLoadedCallback(Scene scene, LoadSceneMode mode)
 {
     if (scene.buildIndex == currentGameScene)
     {
         sceneLoadedEvent.Raise();
         CustomPlayerProperties.UpdateProps <int>(PhotonNetwork.LocalPlayer, "loaded_scene", scene.buildIndex);
     }
 }
Example #3
0
    public void PlayerScored()
    {
        var player = PhotonNetwork.LocalPlayer;
        var score  = 1;
        var team   = CustomPlayerProperties.GetTeam(player);

        CustomPlayerProperties.AddScore(player, score);
        CustomRoomProperties.AddScore(PhotonNetwork.CurrentRoom, team, score);
    }
 protected override void ResetGame()
 {
     InputBridgeBase.ToggleMovement(false);
     CustomPlayerProperties.ResetProps(PhotonNetwork.LocalPlayer);
     if (PhotonNetwork.IsMasterClient)
     {
         CustomRoomProperties.InitializeRoom(PhotonNetwork.CurrentRoom, PhotonNetwork.CurrentRoom.PlayerCount);
     }
 }
Example #5
0
 public override void OnLeftRoom()
 {
     if (printDebug)
     {
         Debug.Log("left room");
     }
     roomName.text = "";
     leaveRoomEvent.Raise();
     CustomPlayerProperties.ResetProps(PhotonNetwork.LocalPlayer);
 }
Example #6
0
    public override void OnPlayerPropertiesUpdate(Player targetPlayer, Hashtable changedProps)
    {
        if (GameMode.instance == null || !GameMode.instance.IsGameActive)
        {
            return;
        }
        // this will update when players score
        // display message that they scored
        var team     = CustomPlayerProperties.GetTeam(targetPlayer);
        var teamname = GameMode.instance.Teams[team].teamName;

        uiMessage.Value = $"{targetPlayer.NickName} ({teamname}) scored!";
    }
Example #7
0
 // photon left room callback
 public override void OnLeftRoom()
 {
     //roomName.text = "";
     //playerName.text = "";
     leaveRoomEvent.Raise();
     // reset any state from prior game
     CustomPlayerProperties.ResetProps(PhotonNetwork.LocalPlayer);
     uiMessage.Value = "you left the room";
     // if we aren't at the main menu go there
     if (SceneManager.GetActiveScene().buildIndex != 0)
     {
         PhotonNetwork.LoadLevel(0);
     }
 }
Example #8
0
        public override void OnJoinedRoom()
        {
            roomName.text = PhotonNetwork.CurrentRoom.Name;
            if (printDebug)
            {
                Debug.Log("joined room: " + PhotonNetwork.CurrentRoom.Name);
            }
            joinRoomEvent.Raise();
            CustomPlayerProperties.ResetProps(PhotonNetwork.LocalPlayer);

            if (spawnPlayerEntity)
            {
                SpawnPlayer(PhotonNetwork.LocalPlayer);
            }
        }
Example #9
0
 // photon join room callback
 public override void OnJoinedRoom()
 {
     // set some debug text
     //roomName.text = PhotonNetwork.CurrentRoom.Name;
     //playerName.text = PhotonNetwork.NickName;
     joinRoomEvent.Raise();
     // reset any state from prior game
     CustomPlayerProperties.ResetProps(PhotonNetwork.LocalPlayer);
     uiMessage.Value = "you joined a room";
     // spawn a network entity to setup voice
     CustomNetworkManager.SpawnNetworkEntity();
     // if master client proceed to lobby scene
     if (PhotonNetwork.IsMasterClient)
     {
         PhotonNetwork.LoadLevel(1);
     }
 }
Example #10
0
    /// <summary>
    /// Set the color of the player avatar based on team.
    /// </summary>
    public void SetPlayerColors()
    {
        var _team  = CustomPlayerProperties.GetTeam(view.Owner);
        var _color = GameMode.instance.Teams[_team].teamColor;

        foreach (Transform child in avatarObjects)
        {
            if (child.name != "Team")
            {
                continue;
            }
            child.gameObject.SetActive(true);
            var _renderer = child.GetComponent <Renderer>();
            var _block    = new MaterialPropertyBlock();
            _renderer.GetPropertyBlock(_block);
            _block.SetColor("_Color", _color);
            _renderer.SetPropertyBlock(_block);
        }
    }
Example #11
0
 private void Awake()
 {
     instance = this;
 }