public static PlayerUnit CreateUnit(UnitClasses UnitClass) { PlayerUnit Unit = new PlayerUnit(); switch (UnitClass) { case UnitClasses.Archer: return new Archer(); case UnitClasses.Mage: return new Mage(); case UnitClasses.Paladin: return new Paladin(); case UnitClasses.Soldier: return new Soldier(); case UnitClasses.Thieft: return new Thieft(); } return Unit; }
public void Reset() { ChoosenClass = UnitClasses.None; }
public void MouseClick(object sender, MouseButtonEventArgs args) { Drag = false; String ItemName = GetButtonName(args.Position); if (ItemName == "Cancel") { UnsetEvents(); Garbage.Add(this); } else if (ItemName == "Soldier") { ChoosenClass = UnitClasses.Soldier; UnsetEvents(); Garbage.Add(this); } else if (ItemName == "Paladin") { ChoosenClass = UnitClasses.Paladin; UnsetEvents(); Garbage.Add(this); } else if (ItemName == "Mage") { ChoosenClass = UnitClasses.Mage; UnsetEvents(); Garbage.Add(this); } else if (ItemName == "Archer") { ChoosenClass = UnitClasses.Archer; UnsetEvents(); Garbage.Add(this); } else if (ItemName == "Thieft") { ChoosenClass = UnitClasses.Thieft; UnsetEvents(); Garbage.Add(this); } }
public static String GetClassString(UnitClasses UnitClass) { switch (UnitClass) { case UnitClasses.Archer: return "Archer"; case UnitClasses.Mage: return "Mage"; case UnitClasses.Paladin: return "Paladin"; case UnitClasses.Soldier: return "Soldier"; case UnitClasses.Thieft: return "Thieft"; case UnitClasses.None: return "None"; } return "None"; }
public void SetClass(UnitClasses uClass) { unitClass = uClass; }
/// <summary> /// Add a PlayerUnit to the specified position and class /// </summary> /// <param name="Coord">Position of Unit</param> /// <param name="UnitClass">Class of Unit</param> public void AddPlayerUnit(MapCoord Coord, UnitClasses UnitClass) { if (map.Tiles[Coord.Row][Coord.Column].Type == TileType.Normal && !PlayerUnits.ContainsCoord(Coord)) { if (Gold >= PlayerUnit.LevelCost(1) && UnitClass == UnitClasses.Thieft && PlayerUnits.CountClass(UnitClasses.Thieft) < 4) { Gold -= PlayerUnit.LevelCost(1); PlayerUnits.Add(Coord, new Thieft()); PlayerUnits[Coord].Position = Coord.ToPointMiddle(); Score += 100; } else if (Gold >= PlayerUnit.LevelCost(1) && UnitClass != UnitClasses.Thieft) { Gold -= PlayerUnit.LevelCost(1); Score += 100; if (UnitClass == UnitClasses.Archer) { PlayerUnits.Add(Coord, new Archer()); PlayerUnits[Coord].Position = Coord.ToPointMiddle(); } else if (UnitClass == UnitClasses.Mage) { PlayerUnits.Add(Coord, new Mage()); PlayerUnits[Coord].Position = Coord.ToPointMiddle(); } else if (UnitClass == UnitClasses.Soldier) { PlayerUnits.Add(Coord, new Soldier()); PlayerUnits[Coord].Position = Coord.ToPointMiddle(); } else if (UnitClass == UnitClasses.Paladin) { PlayerUnits.Add(Coord, new Paladin()); PlayerUnits[Coord].Position = Coord.ToPointMiddle(); } } } }