59 lines
1.7 KiB
C#
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 CardCrashingPunch(owner);
|
|
case HCardId.Cover:
|
|
return new CardCover(owner);
|
|
case HCardId.LightningStrike:
|
|
return new CardLightningStrike(owner);
|
|
case HCardId.Scarring:
|
|
return new CardScarring(owner);
|
|
case HCardId.Thunderstorm:
|
|
return new CardThunderstorm(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];
|
|
}
|
|
}
|