using System.Collections; using System.Collections.Generic; using UnityEngine; public enum HCardId { CrashingPunch, Cover, LightningStrike, Scarring, Thunderstorm, BlindFury, Crush, Meditate, Earthquake, LightningHatchet, InnerStrength, Fireworks, MolotovCocktail, Fracking, CanisterBomb, IronskinDraught, } public class HeroCardDatabase : CardDatabase { private static Dictionary CARD_TO_HERO = new Dictionary() { {HCardId.CrashingPunch, HeroId.Brute}, {HCardId.Cover, HeroId.Brute}, {HCardId.LightningStrike, HeroId.Shaman}, {HCardId.Scarring, HeroId.Brute}, {HCardId.Thunderstorm, HeroId.Shaman}, {HCardId.BlindFury, HeroId.Brute}, {HCardId.Meditate, HeroId.Shaman}, {HCardId.IronskinDraught, HeroId.Alchemist}, }; public override HeroCard CreateCard(int id, BattleParticipant owner) { HCardId heroCardId = (HCardId) id; switch (heroCardId) { case HCardId.CrashingPunch: return new CrashingPunchHCard(owner); case HCardId.Cover: return new CoverHCard(owner); case HCardId.LightningStrike: return new LightningStrikeHCard(owner); case HCardId.Scarring: return new ScarringHCard(owner); case HCardId.Thunderstorm: return new ThunderstormHCard(owner); case HCardId.BlindFury: return new BlindFuryHCard(owner); case HCardId.Meditate: return new MeditateHCard(owner); case HCardId.IronskinDraught: return new IronskinDraughtHCard(owner); default: throw new System.ArgumentException("HCardId unknown", "id"); } } public static HeroId GetHeroIdOfCard(HCardId id) { return CARD_TO_HERO[id]; } }