using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; public class AcquireCardsEffect : IBattleEffect { private int[] cardIds; private BattleZone zone; private BattleParticipant participant; public AcquireCardsEffect(HCardId cardId, BattleZone zone, BattleParticipant participant) { Initialize(new int[1] {(int) cardId}, zone, participant); } public AcquireCardsEffect(HCardId[] cardIds, BattleZone zone, BattleParticipant participant) { Initialize(cardIds.Cast().ToArray(), zone, participant); } public AcquireCardsEffect(MCardId mCardId, BattleZone zone, BattleParticipant participant) { Initialize(new int[1] {(int) mCardId}, zone, participant); } public AcquireCardsEffect(MCardId[] mCardIds, BattleZone zone, BattleParticipant participant) { Initialize(mCardIds.Cast().ToArray(), zone, participant); } private void Initialize(int[] cardIds, BattleZone zone, BattleParticipant participant) { this.cardIds = cardIds; this.zone = zone; this.participant = participant; } public void Apply(IBattleEffectResolver resolver) { resolver.AcquireCards(this); } public int[] CardIds {get => this.cardIds;} public BattleZone Zone {get => this.zone;} public BattleParticipant Participant {get => this.participant;} }