mixedcards/Assets/Battle/HeroCardDatabase.cs
2020-09-24 00:38:19 -04:00

59 lines
1.7 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.Meditate, HeroId.Shaman},
};
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.Meditate:
return new MeditateHCard(owner);
default:
throw new System.ArgumentException("HCardId unknown", "id");
}
}
public static HeroId GetHeroIdOfCard(HCardId id) {
return CARD_TO_HERO[id];
}
}