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);
    }
 private void Awake()
 {
     player        = GetComponent <NetworkGamePlayer>();
     playerShoot   = GetComponent <PlayerShoot>();
     weaponManager = GetComponent <WeaponManager>();
     playerHealth  = GetComponent <HealthSystem>();
 }
Beispiel #3
0
    private void Awake()
    {
        player         = GetComponent <NetworkGamePlayer>();
        playerMovement = GetComponent <PlayerMovement>();
        playerShoot    = GetComponent <PlayerShoot>();
        playerHealth   = GetComponent <HealthSystem>();

        audioManager = AudioManager.Instance;
    }
 private void Start() //Finds which gameplayer this ball belongs to based on the given NetId (provided by playerspawner)
 {
     foreach (var item in NetworkIdentity.spawned)
     {
         if (item.Key == GamePlayerNetId)
         {
             thisPlayer = item.Value.gameObject.GetComponent <NetworkGamePlayer>();
         }
     }
 }
Beispiel #5
0
    private void DropBall()
    {
        isBallCarried = false;
        Debug.Log("The ball has been dropped !");
        ballPosition = transform.position;
        ballPosition = new Vector3(ballPosition.x, 1 + ballPosition.y - onPlayerPosition, ballPosition.z);

        ballTransform.parent   = null;
        ballTransform.position = ballPosition;

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

        gamePlayers.Remove(pGamePlayer);
    }
Beispiel #7
0
        private void CmdSetOwner()
        {
            foreach (var item in connectionToClient.clientOwnedObjects)
            {
                if (item.tag == "GameController")
                {
                    manager = item.gameObject.GetComponent <NetworkGamePlayer>();
                }
            }

            manager.playerDead = false;
            CmdSetScore(manager.score);
        }
Beispiel #8
0
    public void RpcUpdateLoadingRings()
    {
        NetworkGamePlayer gamePlayer = opponentGamePlayer.GetComponent <NetworkGamePlayer>();

        if (gamePlayer.mySide == Side.Left) // meaning, that our opponent is in the left
        {
            sharedCanvas.transform.Find("LoadingRings").Find("Left").gameObject.SetActive(!gamePlayer.placementIsReady);
        }
        else if (gamePlayer.mySide == Side.Right) // meaning, that our opponent is in the right
        {
            sharedCanvas.transform.Find("LoadingRings").Find("Right").gameObject.SetActive(!gamePlayer.placementIsReady);
        }
    }
Beispiel #9
0
    public void RpcAnnounceWinner(Side winner)
    {
        overlayEndGame.SetActive(true);
        overlayEndGame.GetComponent <Animator>().SetTrigger("GameEnded");

        NetworkGamePlayer ownGP = ownGamePlayer.GetComponent <NetworkGamePlayer>();
        NetworkGamePlayer oppGP = opponentGamePlayer.GetComponent <NetworkGamePlayer>();

        TMP_Text winloose           = overlayEndGame.transform.Find("Panel").transform.Find("WinLoose").GetComponent <TMP_Text>();
        Image    winlooseBackground = overlayEndGame.transform.Find("Panel").transform.Find("WinLooseBackground").GetComponent <Image>();
        TMP_Text name_01            = overlayEndGame.transform.Find("Panel").transform.Find("Stats").Find("Name_01").GetComponent <TMP_Text>();
        TMP_Text name_02            = overlayEndGame.transform.Find("Panel").transform.Find("Stats").Find("Name_02").GetComponent <TMP_Text>();
        TMP_Text acc_01             = overlayEndGame.transform.Find("Panel").transform.Find("Stats").Find("Acc_01").GetComponent <TMP_Text>();
        TMP_Text acc_02             = overlayEndGame.transform.Find("Panel").transform.Find("Stats").Find("Acc_02").GetComponent <TMP_Text>();

        float accuracy_01 = shotCount_01 > 0 ? (float)hitCount_01 * 100 / (float)shotCount_01 : 0;
        float accuracy_02 = shotCount_02 > 0 ? (float)hitCount_02 * 100 / (float)shotCount_02 : 0;

        if (ownGP.mySide == winner)
        {
            winloose.text            = "<color #ffffff>Победа</color>";
            winlooseBackground.color = new Color(0f, 160f / 255f, 50f / 255f, 30f / 255f);
        }
        else
        {
            winloose.text            = "<color #ffffff>Поражение</color>";
            winlooseBackground.color = new Color(160f / 255f, 10f / 255f, 0f, 30f / 255f);
        }

        acc_01.text = accuracy_01.ToString("0.000") + "%";
        acc_02.text = accuracy_02.ToString("0.000") + "%";

        if (ownGP.mySide == Side.Left)
        {
            name_01.text = ownGP.displayName;
            name_02.text = oppGP.displayName;
        }
        else if (ownGP.mySide == Side.Right)
        {
            name_01.text = oppGP.displayName;
            name_02.text = ownGP.displayName;
        }
    }
    public override void ServerChangeScene(string newSceneName)
    {
        //from menu to game
        if (SceneManager.GetActiveScene().path == menuScene && newSceneName.StartsWith("Game_Map"))
        {
            for (int i = RoomPlayers.Count - 1; i >= 0; i--)
            {
                var conn = RoomPlayers[i].connectionToClient;
                NetworkGamePlayer gamePlayerInstance = Instantiate(gamePlayerPrefab);
                gamePlayerInstance.SetDisplayName(RoomPlayers[i].DisplayName);

                NetworkServer.Destroy(conn.identity.gameObject);

                NetworkServer.ReplacePlayerForConnection(conn, gamePlayerInstance.gameObject, true);
            }
        }

        base.ServerChangeScene(newSceneName);
    }
Beispiel #11
0
    // Start is called before the first frame update
    void Start()
    {
        try
        {
            overlord  = GameObject.FindObjectOfType <Overlord>();
            isEnabled = overlord.RunTimerEnabled;
        }
        catch (Exception e)
        {
            //this is just to make the compiler happy
            e.ToString();

            isEnabled = false;
        }
        //Acquire links to relevant objects
        if (isEnabled)
        {
            runTimeText          = GameObject.Find("CurrentRunTimeUI").GetComponent <TMP_Text>();
            bestRunTimeText      = GameObject.Find("BestRunTimeUI").GetComponent <TMP_Text>();
            thisPlayer           = GetComponent <LinkToGamePlayer>().thisPlayer;
            bestRunTimeText.text = "B: ";
        }
    }
Beispiel #12
0
    private void CatchBall(Collider col)
    {
        if (isBallCarried)
        {
            return;
        }
        else
        {
            isBallCarried = true;
        }

        var colTransform = col.transform;

        player = colTransform.GetComponent <NetworkGamePlayer>();

        Debug.Log("Player " + colTransform.name + "took the ball !");

        var colPosition = colTransform.position;

        ballPosition = new Vector3(colPosition.x, colPosition.y + onPlayerPosition, colPosition.z);

        ballTransform.SetParent(colTransform);
        ballTransform.position = ballPosition;
    }
 public void SetOwner(NetworkGamePlayer pOwner)
 {
     _owner = pOwner;
 }