mixedcards/Assets/Battle/Effects/AcquireCardsEffect.cs
2020-09-24 00:35:08 -04:00

41 lines
1.4 KiB
C#

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<int>().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<int>().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;}
}