Пример #1
0
    public async Task enemyTurn(int turnCount)
    {
        foreach (EnemyGameObject enemyGameObject in gameData.currEnemies)
        {
            Enemy currEnemy = enemyGameObject.enemy;
            Card  enemyTurn = enemyTurnService.getModifiedEnemyTurn(enemyGameObject);

            for (int j = 0; j < enemyTurn.data.attackMultiplier; j++)
            {
                playerService.takeHit(enemyTurn.data.attack);
                if (enemyTurn.data.attack > 0)
                {
                    enemyGameObject.attackAnimation();
                }
            }
            currEnemy.data.healthBarData.currBlock = enemyTurn.data.defend;

            if (enemyTurn.data.cardToAddToPlayersDecks != null)
            {
                foreach (Card cardToAdd in enemyTurn.data.cardToAddToPlayersDecks)
                {
                    deckService.addCardToDeck(cardToAdd);
                }
            }
            statusService.onTurnOver(enemyGameObject.statusesObject);
            Card newEnemyTurn = enemyTurnService.updateEnemyTurn(currEnemy, turnCount);
            await Task.Delay(TimeSpan.FromSeconds(0.5));
        }
    }
Пример #2
0
 public void initializeEnemy(EnemyGameObject enemyGameObject)
 {
     enemyGameObject.enemy.data.initialize();
     enemyTurnService.updateEnemyTurn(enemyGameObject.enemy, 0);
 }