Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
 public void Reset()
 {
     ChoosenClass = UnitClasses.None;
 }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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";
        }
Exemplo n.º 5
0
 public void SetClass(UnitClasses uClass)
 {
     unitClass = uClass;
 }
Exemplo n.º 6
0
        /// <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();
                    }
                }
            }
        }