Refactor HeroCardDatabase
This commit is contained in:
parent
939b3e2664
commit
679fc526cc
1 changed files with 23 additions and 18 deletions
|
|
@ -29,42 +29,47 @@ public enum HCardId {
|
||||||
|
|
||||||
public class HeroCardDatabase : CardDatabase<HeroCard>
|
public class HeroCardDatabase : CardDatabase<HeroCard>
|
||||||
{
|
{
|
||||||
public override HeroCard CreateCard(int id, BattleParticipant owner) {
|
private System.Type GetCardClass(HCardId id) {
|
||||||
HCardId heroCardId = (HCardId) id;
|
switch (id)
|
||||||
switch (heroCardId)
|
|
||||||
{
|
{
|
||||||
case HCardId.CrashingPunch:
|
case HCardId.CrashingPunch:
|
||||||
return new CrashingPunchHCard(owner);
|
return typeof(CrashingPunchHCard);
|
||||||
case HCardId.Cover:
|
case HCardId.Cover:
|
||||||
return new CoverHCard(owner);
|
return typeof(CoverHCard);
|
||||||
case HCardId.LightningStrike:
|
case HCardId.LightningStrike:
|
||||||
return new LightningStrikeHCard(owner);
|
return typeof(LightningStrikeHCard);
|
||||||
case HCardId.Scarring:
|
case HCardId.Scarring:
|
||||||
return new ScarringHCard(owner);
|
return typeof(ScarringHCard);
|
||||||
case HCardId.Thunderstorm:
|
case HCardId.Thunderstorm:
|
||||||
return new ThunderstormHCard(owner);
|
return typeof(ThunderstormHCard);
|
||||||
case HCardId.BlindFury:
|
case HCardId.BlindFury:
|
||||||
return new BlindFuryHCard(owner);
|
return typeof(BlindFuryHCard);
|
||||||
case HCardId.Meditate:
|
case HCardId.Meditate:
|
||||||
return new MeditateHCard(owner);
|
return typeof(MeditateHCard);
|
||||||
case HCardId.LightningHatchet:
|
case HCardId.LightningHatchet:
|
||||||
return new LightningHatchetHCard(owner);
|
return typeof(LightningHatchetHCard);
|
||||||
case HCardId.IronskinDraught:
|
case HCardId.IronskinDraught:
|
||||||
return new IronskinDraughtHCard(owner);
|
return typeof(IronskinDraughtHCard);
|
||||||
case HCardId.SwordSlash:
|
case HCardId.SwordSlash:
|
||||||
return new SwordSlashHCard(owner);
|
return typeof(SwordSlashHCard);
|
||||||
case HCardId.ShieldBlock:
|
case HCardId.ShieldBlock:
|
||||||
return new ShieldBlockHCard(owner);
|
return typeof(ShieldBlockHCard);
|
||||||
case HCardId.LeadShot:
|
case HCardId.LeadShot:
|
||||||
return new LeadShotHCard(owner);
|
return typeof(LeadShotHCard);
|
||||||
case HCardId.SmokeBomb:
|
case HCardId.SmokeBomb:
|
||||||
return new SmokeBombHCard(owner);
|
return typeof(SmokeBombHCard);
|
||||||
case HCardId.Eagerness:
|
case HCardId.Eagerness:
|
||||||
return new EagernessHCard(owner);
|
return typeof(EagernessHCard);
|
||||||
case HCardId.OilOfSharpness:
|
case HCardId.OilOfSharpness:
|
||||||
return new OilOfSharpnessHCard(owner);
|
return typeof(OilOfSharpnessHCard);
|
||||||
default:
|
default:
|
||||||
throw new System.ArgumentException("HCardId unknown", "id");
|
throw new System.ArgumentException("HCardId unknown", "id");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override HeroCard CreateCard(int id, BattleParticipant owner) {
|
||||||
|
HCardId heroCardId = (HCardId) id;
|
||||||
|
System.Type cardClass = GetCardClass(heroCardId);
|
||||||
|
return (HeroCard) System.Activator.CreateInstance(cardClass, owner);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue