public override Unit Clone() { var unitWrapper = new UnitWrapper(this); var unitClone = new PegasusKnight(unitWrapper); return(unitClone); }
public override Unit Clone() { var unitWrapper = new UnitWrapper(this); var unitClone = new Cavalier(unitWrapper); return(unitClone); }
public Unit GenerateUnit(UnitWrapper unitWrapper) { var unitClass = unitWrapper.unitClass; try { return(wrappedUnitGenerator[unitClass].Invoke(unitWrapper)); } catch { throw new Exception($"Could not find Unit Class {unitClass}"); } }
public Unit(UnitWrapper unitWrapper) { mName = unitWrapper.unitName; mType = unitWrapper.unitType; mClass = unitWrapper.unitClass; mMoveType = unitWrapper.unitMoveType; mMaxHealthPoints = new Stat(unitWrapper.unitMaxHealthPoints); mCurrentHealthPoints = mMaxHealthPoints.Value; mStrength = new Stat(unitWrapper.unitStrength); mMagic = new Stat(unitWrapper.unitMagic); mDefense = new Stat(unitWrapper.unitDefense); mResistance = new Stat(unitWrapper.unitResistance); mSpeed = new Stat(unitWrapper.unitSpeed); mSkill = new Stat(unitWrapper.unitSkill); mLuck = new Stat(unitWrapper.unitLuck); mMovement = new Stat(unitWrapper.unitMovement); mLevel = unitWrapper.unitLevel; mExperiencePoints = unitWrapper.unitExperiencePoints; // TODO: Re-add weapon using WeaponFactory var weaponName = unitWrapper.unitWeapon; // No need to call equip since modifier is already applied mMainWeapon = WeaponFactory.instance.GenerateWeapon(weaponName); mUnitEffects = new HashSet <UnitEffect>(); mSkills = new List <Skill>(); var skillNames = unitWrapper.unitSkills; foreach (var skillName in skillNames) { var skill = SkillFactory.instance.GenerateSkill(skillName); mSkills.Add(skill); } mConsumableItems = new ConsumableItem[CONSUMABLE_ITEM_LIMIT]; var itemNames = unitWrapper.unitItems; foreach (var itemName in itemNames) { var item = ItemFactory.instance.GenerateItem(itemName); EquipItem(item); } mLevelToSkills = new Dictionary <int, List <Skill> >(); }
public override Unit Generate(UnitWrapper unitWrapper) { return(new Cavalier(unitWrapper)); }
public Cavalier(UnitWrapper unitWrapper) : base(unitWrapper) { InitGrowthRates(); }
public override Unit Generate(UnitWrapper unitWrapper) { return(new Thief(unitWrapper)); }
public Thief(UnitWrapper unitWrapper) : base(unitWrapper) { InitGrowthRates(); InitLevelToSkills(); }
public override Unit Generate(UnitWrapper unitWrapper) { return(new Cleric(unitWrapper)); }
public ArmoredUnit(UnitWrapper unitWrapper) : base(unitWrapper) { }
public PegasusKnight(UnitWrapper unitWrapper) : base(unitWrapper) { InitGrowthRates(); }
public Mage(UnitWrapper unitWrapper) : base(unitWrapper) { InitGrowthRates(); }
public FlyingUnit(UnitWrapper unitWrapper) : base(unitWrapper) { }
public override Unit Generate(UnitWrapper unitWrapper) { return(new Archer(unitWrapper)); }
public Archer(UnitWrapper wrapper) : base(wrapper) { InitGrowthRates(); InitLevelToSkills(); }
public abstract Unit Generate(UnitWrapper unitWrapper);
public override Unit Generate(UnitWrapper unitWrapper) { return(new Knight(unitWrapper)); }
public InfantryUnit(UnitWrapper unitWrapper) : base(unitWrapper) { }
public CavalryUnit(UnitWrapper unitWrapper) : base(unitWrapper) { }