mixedcards/Assets/Battle/DefaultsManager.cs
2020-10-09 01:43:37 -04:00

42 lines
1.3 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DefaultsManager
{
public delegate IEnumerator UseDefaultAction(DefaultHeroCard card);
private Dictionary<BattleHero, DefaultHeroCard> mHeroDefaults = new Dictionary<BattleHero, DefaultHeroCard>();
public DefaultsManager() {
}
public DefaultHeroCard Setup(DefaultEffect effect) {
DefaultHeroCard newCard = effect.Card;
DefaultHeroCard previousCard = null;
BattleHero heroOwner = (BattleHero) newCard.Owner;
mHeroDefaults.TryGetValue(heroOwner, out previousCard);
mHeroDefaults[heroOwner] = newCard;
return previousCard;
}
public IEnumerator UseHeroDefaults(
BattleHero[] heroes, ParticipantActivity activity,
UseDefaultAction usedDefaultAction) {
foreach (BattleHero hero in heroes) {
if (hero == null) {
continue;
}
if (activity.GetNonEmotionCardsUsedThisRound(hero) == 0) {
DefaultHeroCard defaultCard;
mHeroDefaults.TryGetValue(hero, out defaultCard);
if (defaultCard != null) {
yield return usedDefaultAction(defaultCard);
}
}
}
}
}