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)); } }
public void onEnemyCardDrawn(EnemyGameObject enemyGameObject, Card card) { enemyGameObject.enemy.data.enemyTurnData.enemyModifiers.Add(card); enemyGameObject.enemy.data.enemyTurnData.currEnemyTurn = enemyTurnService.getModifiedEnemyTurn(enemyGameObject); }