コード例 #1
0
    private void GiveWeapons(GameObject player, GameObject gamePlayer)
    {
        NetworkGamePlayerLobby playerLobby = gamePlayer.GetComponent <NetworkGamePlayerLobby>();

        foreach (GameObject weapon in playerLobby.weapons)
        {
            if (weapon == null)
            {
                continue;
            }
            GameObject newWeapon = Instantiate(weapon, player.transform.position + new Vector3(0, 3, 0), player.transform.rotation);
            NetworkServer.Spawn(newWeapon);
        }
    }
コード例 #2
0
 public void Set(NetworkGamePlayerLobby player)
 {
     nameText.text  = player.displayName;
     killText.text  = "" + player.kills;
     deathText.text = "" + player.deaths;
 }
コード例 #3
0
    public void SpawnPlayer(NetworkConnection conn)
    {
        NetworkGamePlayerLobby networkGamePlayerLobby = conn.identity.transform.GetComponent <NetworkGamePlayerLobby>();

        if (networkGamePlayerLobby.IsOrange)
        {
            Transform spawnpoint = orangeSpawnPoints[orangeNextIndex];

            if (spawnpoint == null)
            {
                Debug.LogError($"Missing spawn point for orange {orangeNextIndex}");
                return;
            }
            GameObject playerInstance = Instantiate(playerPrefab, orangeSpawnPoints[orangeNextIndex].position, orangeSpawnPoints[orangeNextIndex].rotation);
            PlayerID   playerID       = playerInstance.GetComponent <PlayerID>();
            playerID.isOrange    = true;
            playerID.displayName = networkGamePlayerLobby.displayName;
            playerID.SetGamePlayer(RoundSystem.Room.GamePlayers.IndexOf(networkGamePlayerLobby));
            playerInstance.GetComponent <MoneyHandler>().SetMoney(networkGamePlayerLobby.money, networkGamePlayerLobby);
            players.Add(playerInstance);
            NetworkServer.Spawn(playerInstance, conn);
            GameObject characterInstance = Instantiate(orangeCharacterPrefab, playerInstance.transform);
            characters.Add(characterInstance);
            NetworkServer.Spawn(characterInstance, conn);

            GiveWeapons(playerInstance, networkGamePlayerLobby.gameObject);

            GameObject.Find("OrangeDeadRoom").GetComponent <SpectatorScreenController>().AddPlayer(playerInstance);

            for (int i = 0; i < players.Count; i++)
            {
                RpcSetCharacterParent(characters[i], players[i]);
            }

            orangeNextIndex++;
        }
        else if (networkGamePlayerLobby.IsGreen)
        {
            Transform spawnpoint = greenSpawnPoints[greenNextIndex];

            if (spawnpoint == null)
            {
                Debug.LogError($"Missing spawn point for green {greenNextIndex}");
                return;
            }
            GameObject playerInstance = Instantiate(playerPrefab, greenSpawnPoints[greenNextIndex].position, greenSpawnPoints[greenNextIndex].rotation);
            PlayerID   playerID       = playerInstance.GetComponent <PlayerID>();
            playerID.isGreen     = true;
            playerID.displayName = networkGamePlayerLobby.displayName;
            playerID.SetGamePlayer(RoundSystem.Room.GamePlayers.IndexOf(networkGamePlayerLobby));
            playerInstance.GetComponent <MoneyHandler>().SetMoney(networkGamePlayerLobby.money, networkGamePlayerLobby);
            players.Add(playerInstance);
            NetworkServer.Spawn(playerInstance, conn);
            GameObject characterInstance = Instantiate(greenCharacterPrefab, playerInstance.transform);
            characters.Add(characterInstance);
            NetworkServer.Spawn(characterInstance, conn);

            GiveWeapons(playerInstance, networkGamePlayerLobby.gameObject);

            GameObject.Find("GreenDeadRoom").GetComponent <SpectatorScreenController>().AddPlayer(playerInstance);

            for (int i = 0; i < players.Count; i++)
            {
                RpcSetCharacterParent(characters[i], players[i]);
            }

            greenNextIndex++;
        }
    }
コード例 #4
0
 public void SetMoney(int value, NetworkGamePlayerLobby playerSet)
 {
     money  = value;
     player = playerSet;
 }
コード例 #5
0
 private int SortByKills(NetworkGamePlayerLobby p1, NetworkGamePlayerLobby p2)
 {
     return(p1.kills.CompareTo(p2.kills));
 }