mixedcards/Assets/Battle/HeroCardDatabase.cs
2020-09-24 21:51:32 -04:00

68 lines
2.1 KiB
C#

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<HeroCard>
{
private static Dictionary<HCardId, HeroId> CARD_TO_HERO = new Dictionary<HCardId, HeroId>() {
{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.LightningHatchet, 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.LightningHatchet:
return new LightningHatchetHCard(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];
}
}