public void AddGamePlayer(NetworkGamePlayer pGamePlayer)
    {
        if (pGamePlayer.isServer)
        {
            int numLeft = numPlayers - (_numKillers + _numVillagers);

            if (_numKillers == _finalNumKillers)
            {
                pGamePlayer.GetPlayerInfo().SetPlayerRole(PlayerInformation.ROLE_VILLAGER);
                _numVillagers++;
            }
            else
            {
                float killChance = 1f / numLeft;
                if (UnityEngine.Random.Range(0f, 1f) > killChance)
                {
                    pGamePlayer.GetPlayerInfo().SetPlayerRole(PlayerInformation.ROLE_VILLAGER);
                    _numVillagers++;
                }
                else
                {
                    pGamePlayer.GetPlayerInfo().SetPlayerRole(PlayerInformation.ROLE_KILLER);
                    _numKillers++;
                }
            }
            Debug.Log(pGamePlayer.GetPlayerInfo().GetPlayerRole());
        }

        gamePlayers.Add(pGamePlayer);
    }
    public void RemoveGamePlayer(NetworkGamePlayer pGamePlayer)
    {
        if (pGamePlayer.GetPlayerInfo().GetPlayerRole() == PlayerInformation.ROLE_KILLER)
        {
            _numKillers--;
        }
        else
        {
            _numVillagers--;
        }

        gamePlayers.Remove(pGamePlayer);
    }
Пример #3
0
 public PlayerInformation GetPlayerInformation()
 {
     return(_owner.GetPlayerInfo());
 }