public IPlayerGameObject[] GeneratePlayerGameObjects(int playerCount)
        {
            _currentSpawnPosition = initialSpawnPosition.position;
            if (playerCount % 2 != 0)
            {
                throw new ArgumentException($"Player count must be even but is {playerCount}");
            }

            var playerObjects = new IPlayerGameObject[playerCount];

            for (int i = 0; i < playerCount; i += 2)
            {
                var playerOne = InstantiatePlayer(i);
                var playerTwo = InstantiatePlayer(i + 1);

                OffsetAndRotatePlayer(playerOne.Transform, -playersDistance, Rotation);
                OffsetAndRotatePlayer(playerTwo.Transform, playersDistance);
                playerObjects[i]     = playerOne;
                playerObjects[i + 1] = playerTwo;

                _currentSpawnPosition -= playerOne.Transform.right * spawnPositionOffset;
            }

            return(playerObjects);
        }
Exemple #2
0
 private void SetHealthAnimationParam(IPlayerGameObject player, int health)
 {
     player.PlayerAnimator.SetInteger(_animHealthHash, health);
 }