using System.Collections; using System.Collections.Generic; using UnityEngine; public class DefaultsManager { public delegate IEnumerator UseDefaultAction(DefaultHeroCard card); private Dictionary mHeroDefaults = new Dictionary(); 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); } } } } }