public override void Action(object info = null) { base.Action(info); foreach (Enumerators.AbilityTargetType target in TargetTypes) { switch (target) { case Enumerators.AbilityTargetType.OPPONENT: for (int i = 0; i < Count; i++) { CardsController.SpawnUnitOnBoard(GetOpponentOverlord(), Name); } break; case Enumerators.AbilityTargetType.PLAYER: for (int i = 0; i < Count; i++) { CardsController.SpawnUnitOnBoard(PlayerCallerOfAbility, Name); } break; default: continue; } } }
private void GenerateNewUnitsOnBoard() { foreach (ReplaceUnitInfo unitInfo in _replaceUnitInfos) { CardsController.SpawnUnitOnBoard(unitInfo.OwnerPlayer, unitInfo.NewUnitCardTitle); } }
private void SetupOverlordsBoardUnitsAsSpecific(List <SpecificBattlegroundInfo.UnitOnBoardInfo> playerCards, List <SpecificBattlegroundInfo.UnitOnBoardInfo> opponentCards) { BoardUnit workingUnit = null; foreach (SpecificBattlegroundInfo.UnitOnBoardInfo cardInfo in playerCards) { workingUnit = _cardsController.SpawnUnitOnBoard(_gameplayManager.CurrentPlayer, cardInfo.Name); workingUnit.CantAttackInThisTurnBlocker = !cardInfo.IsManuallyPlayable; } foreach (SpecificBattlegroundInfo.UnitOnBoardInfo cardInfo in opponentCards) { workingUnit = _cardsController.SpawnUnitOnBoard(_gameplayManager.OpponentPlayer, cardInfo.Name); workingUnit.CantAttackInThisTurnBlocker = !cardInfo.IsManuallyPlayable; } }