Пример #1
0
        void SpawnPlayers()
        {
            var playersParent = GameObject.Find("Players");
            var spawns        = GameObject.FindGameObjectsWithTag("Spawn");
            var spawnIndices  = spawns.GetUniqueRandomIndexArray(PlayerCount);

            for (int i = 0; i < PlayerCount; i++)
            {
                var pos          = spawns[spawnIndices[i]].transform.position;
                var playerObject = GameObject.Instantiate(PlayerPrefab, pos, Quaternion.identity, playersParent.transform);
                var player       = playerObject.GetComponent <Player>();
                player.Id = i;
                player.UpdateHealthEvent  += OnUpdatePlayerHealth;
                player.UpdateBlockEvent   += OnUpdatePlayerBlock;
                player.UpdateDashEvent    += OnUpdatePlayerDash;
                player.UpdatePowerupEvent += OnUpdatePlayerPowerup;
            }

            // Grab transforms and pass them to the UI
            var playerTransforms = GameObject.FindGameObjectsWithTag("Player");

            Hud.InitPlayerInfo(playerTransforms);
        }