Пример #1
0
    //Spawn players for all joined players
    public void spawnPlayers()
    {
        //Gather spawnpoints
        PopulateSpawnpoints();

        //Array to tell which spawnpoints are occupied
        bool[] spawnsUsed = new bool[spawnPoints.Length];

        int spawnIndex = 0;

        for (int i = 0; i < players.Count; i++)
        {
            players[i].vibrationPower = 0;//Stop vibration as a precaution

            //Finding a good spawnpoint
            spawnIndex = (int)Random.Range(0, spawnPoints.Length - 1);
            do
            {
                if (++spawnIndex >= spawnPoints.Length)
                {
                    spawnIndex = 0;
                }
            } while (spawnsUsed[spawnIndex]);
            //Set spawn to used
            spawnsUsed[spawnIndex] = true;

            players[i].mainObject = (GameObject)Instantiate(playerPrefab, spawnPoints[spawnIndex].transform.position, Quaternion.identity);
            players[i].SetupPlayer();
        }


        playersAlive = players.Count;
        GameObject backGround = GameObject.Find("Background");

        if (backGround != null)
        {
            parallaxController = GameObject.Find("Background").GetComponent <ParallaxController>();
            parallaxController.RoundOver();
        }
    }