Example #1
0
        public BuilderUnits(Util.Units type, ManagerUnits managerUnits, InformationUnit informationUnit)
        {
            this.informationUnit = informationUnit;
            this.type            = type;

            this.managerUnits = managerUnits;
        }
Example #2
0
 // setup
 private void SetReferences()
 {
     managerAssets  = GetComponent <ManagerAssets>();
     managerTerrain = GetComponent <ManagerTerrain>();
     managerUI      = GetComponent <ManagerUI>();
     managerUnits   = GetComponent <ManagerUnits>();
 }
Example #3
0
 public void OnDestroy()
 {
     if (Toolbox.Instance)
     {
         ManagerUpdate.RemoveFrom(this);
         ManagerUnits.Remove(this);
     }
 }
Example #4
0
        public Main(ManagerUnits managerUnits, ManagerBuildings managerBuildings, ManagerMouse managerMouse)
        {
            this.managerUnits     = managerUnits;
            this.managerMouse     = managerMouse;
            this.managerBuildings = managerBuildings;

            managerMouse.MouseEventHandler += ManagerMouse_MouseEventHandler;
        }
Example #5
0
 /// <summary>
 /// Allows the game to perform any initialization it needs to before starting to run.
 /// This is where it can query for any required services and load any non-graphic
 /// related content.  Calling base.Initialize will enumerate through any components
 /// and initialize them as well.
 /// </summary>
 protected override void Initialize()
 {
     // TODO: Add your initialization logic here
     _managerMouse  = new ManagerMouse();
     _managerTiles  = new ManagerTiles();
     _managerUnits  = new ManagerUnits(_managerMouse, _managerTiles);
     IsMouseVisible = true;
     base.Initialize();
 }
Example #6
0
    } // called LMB click on panelBot button EndTurn routed through ManagerUI.HandleEntryPointButtonClick()

    // setup class
    private void SetReferences()
    {
        managerCursor  = GetComponent <ManagerCursor>();
        managerGame    = GetComponent <ManagerGame>();
        managerPlayer  = GetComponent <ManagerPlayer>();
        managerTerrain = GetComponent <ManagerTerrain>();
        managerUI      = GetComponent <ManagerUI>();
        managerUnits   = GetComponent <ManagerUnits>();
    }
Example #7
0
        public BuilderWalls(Builder builder, ManagerMouse managerMouse, ManagerBuildings managerBuildings, ManagerUnits managerUnits)
        {
            this.builder          = builder;
            this.managerMouse     = managerMouse;
            this.managerBuildings = managerBuildings;
            this.managerUnits     = managerUnits;

            managerMouse.MouseEventHandler += ManagerMouse_MouseEventHandler;
        }
Example #8
0
 public Pathfinding(string id, Sprite sprite, ManagerTiles managerTiles, ManagerUnits managerUnits)
 {
     _id           = id;
     _sprite       = sprite;
     _managerTiles = managerTiles;
     _path         = new List <Vector2>();
     _managerUnits = managerUnits;
     _checkForUnit = true;
 }
Example #9
0
        public Main(ManagerUnits managerUnits, ManagerBuildings managerBuildings, ManagerMouse managerMouse, List <ManagerEnemies> managerEnemies)
        {
            this.managerUnits     = managerUnits;
            this.managerMouse     = managerMouse;
            this.managerBuildings = managerBuildings;
            this.managerEnemies   = managerEnemies;

            managerMouse.MouseEventHandler += ManagerMouse_MouseEventHandler;
        }
        public BuilderWalls(Peasant peasant, ManagerMouse managerMouse, ManagerBuildings managerBuildings, ManagerUnits managerUnits)
        {
            this.peasant          = peasant;
            this.managerMouse     = managerMouse;
            this.managerBuildings = managerBuildings;
            this.managerUnits     = managerUnits;

            managerMouse.MouseEventHandler += ManagerMouse_MouseEventHandler;
        }
        public BuilderBuildings(Util.Buildings building, Unit builder, ManagerMouse managerMouse, ManagerBuildings managerBuildings, ManagerUnits managerUnits)
        {
            this.builder = builder;

            this.managerMouse     = managerMouse;
            this.managerUnits     = managerUnits;
            this.managerBuildings = managerBuildings;

            this.building = Buildings.Building.Factory(building, managerMouse, managerBuildings.managerMap, managerUnits);
        }
Example #12
0
        private void OnUnitButton(UICallBack callBack)
        {
            var dataUnit = callBack.data as DataUnit;

            if (dataUnit)
            {
                dataPlayer.mana.Value -= dataUnit.stats.manaCost;
                ManagerUnits.Spawn(dataUnit, dataPlayer.side);
            }
        }
Example #13
0
 public void SpawnUnit(DataUnit data)
 {
     if (dataPlayer)
     {
         coundowns[data]        = data.stats.spawnCountdown;
         dataPlayer.mana.Value -= data.stats.manaCost;
         ManagerUnits.Spawn(data, dataPlayer.side);
         Think();
     }
 }
Example #14
0
 protected override void OnStart()
 {
     gameManager  = Toolbox.Get <GameManager>();
     dataSpell    = GetData <DataSpell>();
     tower        = GetData <DataUnit>();
     managerUnits = Toolbox.Get <ManagerUnits>();
     StartCoroutine(RainLive(dataSpell.duratation));
     transform.position = new Vector2(0.0f, 3.0f);
     sideTurn           = tower.stats.side == Side.right ? Side.left : Side.right;
 }
Example #15
0
 private void SetReferences()
 {
     managerAssets   = GetComponent <ManagerAssets>();
     managerBlight   = GetComponent <ManagerBlight>();
     managerCamera   = GetComponent <ManagerCamera>();
     managerControls = GetComponent <ManagerControls>();
     managerCursor   = GetComponent <ManagerCursor>();
     managerTerrain  = GetComponent <ManagerTerrain>();
     managerPlayer   = GetComponent <ManagerPlayer>();
     managerUI       = GetComponent <ManagerUI>();
     managerUnits    = GetComponent <ManagerUnits>();
 }
Example #16
0
        protected override void Initialize()
        {
            managerBuildings = new ManagerBuildings(managerMouse, managerMap);
            managerEnemies   = new ManagerEnemies(managerMouse, managerMap, managerBuildings);
            managerUnits     = new ManagerUnits(managerMouse, managerMap, managerBuildings, managerEnemies);
            managerUI        = new ManagerUI(managerMouse, managerBuildings, managerUnits);

            managerCombat = new ManagerCombat(managerUnits, managerEnemies, managerBuildings);

            camera = new Camera(GraphicsDevice.Viewport);

            base.Initialize();
        }
Example #17
0
        public void Draw(SpriteBatch spriteBatch, ManagerUnits playerUnits, ManagerUnits botsUnits)
        {
            base.Draw(spriteBatch);

            spriteBatch.DrawString(font, "Resumo ilha " + (Warcraft.ISLAND), new Vector2(100, 100), Color.White);
            spriteBatch.DrawString(font, "Unidades: " + playerUnits.units.Count, new Vector2(100, 140), Color.White);
            spriteBatch.DrawString(font, "ConstruçÔes: " + BUILDINGS, new Vector2(100, 160), Color.White);

            spriteBatch.DrawString(font, "Unidades inimigas: " + botsUnits.units.Count, new Vector2(100, 200), Color.White);
            spriteBatch.DrawString(font, "ConstruçÔes inimigas: " + ENEMEY_BUILDINGS, new Vector2(100, 220), Color.White);

            spriteBatch.DrawString(font, "Esqueletos: " + SKELETONS, new Vector2(100, 260), Color.White);

            spriteBatch.DrawString(font, "VocĂȘ desbloqueou: Church", new Vector2(100, 300), Color.White);
        }
        public Building(int tileX, int tileY, int width, int height, ManagerMouse managerMouse, ManagerMap managerMap, ManagerUnits managerUnits)
        {
            this.width  = width;
            this.height = height;

            this.managerMap   = managerMap;
            this.managerUnits = managerUnits;

            position = new Vector2(tileX * Warcraft.TILE_SIZE, tileY * Warcraft.TILE_SIZE);
            target   = new Point(tileX + ((width / Warcraft.TILE_SIZE) / 2), tileY + ((height / Warcraft.TILE_SIZE) / 2));

            managerMouse.MouseEventHandler      += ManagerMouse_MouseEventHandler;
            managerMouse.MouseClickEventHandler += ManagerMouse_MouseClickEventHandler;

            rectangle = new Rectangle((int)position.X, (int)position.Y, width, height);
        }
Example #19
0
        public Unit(int tileX, int tileY, int width, int height, int speed, ManagerMouse managerMouse, ManagerMap managerMap, ManagerUnits managerUnits)
        {
            this.width  = width;
            this.height = height;
            this.speed  = speed;

            pathfinding = new Pathfinding(managerMap);
            position    = new Vector2(tileX * Warcraft.TILE_SIZE, tileY * Warcraft.TILE_SIZE);

            managerMouse.MouseEventHandler += ManagerMouse_MouseEventHandler;

            rectangle = new Rectangle((int)position.X, (int)position.Y, width, height);

            this.managerMap   = managerMap;
            this.managerUnits = managerUnits;

            progress = new Progress(width, 5);
        }
Example #20
0
        public override void Initializer()
        {
            ManagerResources.PLAYER_FOOD = 5;

            managerIsland = new ManagerIsland(managerMouse);

            managerEnemies = new ManagerEnemies(managerMouse, managerIsland.CurrentMap(), 0);

            managerPlayerBuildings = new ManagerPlayerBuildings(managerMouse, managerIsland.CurrentMap());
            managerPlayerUnits     = new ManagerPlayerUnits(managerMouse, managerIsland.CurrentMap(), managerPlayerBuildings, managerEnemies);

            managerUI     = new ManagerUI(managerMouse, managerPlayerBuildings, managerPlayerUnits, null);
            managerCombat = new ManagerCombat(managerEnemies, managerPlayerUnits, managerPlayerBuildings);

            increment       = 0.1f;
            fadeOut         = 0;
            showSummary     = false;
            Battleship.move = false;

            Warcraft.camera.Start();
        }
Example #21
0
        public void StartBattle()
        {
            if (dataPlayer)
            {
                dataPlayer = GetData <DataPlayer>();
            }


            if (dataPlayer.dataTower.prefab)
            {
                tower = dataPlayer.Tower = ManagerUnits.SpawnTower(dataPlayer.dataTower, dataPlayer);

                var spell     = tower.GetData <DataSpell>();
                var dataTower = tower.GetData <DataUnit>();
                if (dataPlayer.Player && spell && dataTower)
                {
                    var managerUi = Toolbox.Get <ManagerUI>();
                    managerUi.BattleButtonSpawn(dataPlayer);
                    managerUi.spell.StartCountdown(spell.countdown);
                    managerUi.OnButtonClick.Where(x => x.buttonPressed == ButtonPressed.spell).Subscribe(
                        delegate
                        (UICallBack uICallBack)
                    {
                        dataTower.OnSpellCast.OnNext(tower);
                    }).AddTo(this);
                }
                else if (!dataPlayer.Player)
                {
                    if (GetData <DataAi>().difficult == Difficult.normal)
                    {
                        dataPlayer.Tower.GetData <DataUnit>().OnSetDamage.Subscribe(delegate(Unit unit)
                        {
                            dataPlayer.Tower.GetData <DataUnit>().OnSpellCast.OnNext(dataPlayer.Tower);
                        }).AddTo(this);
                    }
                }
            }
        }
Example #22
0
        public void OnAwake()
        {
            dataPlayer = actor.GetData <DataPlayer>();
            foreach (var item in dataPlayer.squad)
            {
                coundowns.Add(item, 0.0f);
            }

            dataPlayer.manaMax    = dataPlayer.startMaxMana;
            dataPlayer.mana.Value = 0;

            manager      = Toolbox.Get <GameManager>();
            managerUnits = Toolbox.Get <ManagerUnits>();
            if (dataPlayer.side == Side.left)
            {
                enemyUnits = managerUnits.right;
            }
            else
            {
                enemyUnits = managerUnits.left;
            }

            difficult = actor.GetData <DataAi>().difficult;

            if (difficult == Difficult.easy)
            {
                timeToAction = 5f;
            }
            else if (difficult == Difficult.normal)
            {
                timeToAction = 3f;
            }
            else
            {
                timeToAction = 0f;
            }
        }
Example #23
0
        public DarkPortal(int tileX, int tileY, ManagerMouse managerMouse, ManagerMap managerMap, ManagerUnits managerUnits)
            : base(tileX, tileY, 128, 128, managerMouse, managerMap, managerUnits)
        {
            information = new InformationBuilding("Dark Portal", 1000, 0, 0, Util.Units.NONE, 0, Util.Buildings.DARK_PORTAL);

            Dictionary <AnimationType, List <Sprite> > sprites = new Dictionary <AnimationType, List <Sprite> >();
            List <Sprite> spriteBuilding = new List <Sprite>();

            // NORMAL
            spriteBuilding.Add(new Sprite(325, 658, 128, 128));

            sprites.Add(AnimationType.WALKING, spriteBuilding);

            Dictionary <string, Frame> animations = new Dictionary <string, Frame>();

            animations.Add("normal", new Frame(0, 1));

            this.animations = new Animation(sprites, animations, "normal", width, height, false, 0);

            textureName = "Human Buildings (Summer)";

            isBuilding      = false;
            isPlaceSelected = false;
            isStartBuilding = false;

            isWorking = true;

            managerMap.AddWalls(Position, width / 32, height / 32);
        }
Example #24
0
        public ChickenFarm(int tileX, int tileY, ManagerMouse managerMouse, ManagerMap managerMap, ManagerUnits managerUnits) :
            base(tileX, tileY, 64, 64, managerMouse, managerMap, managerUnits)
        {
            information = new InformationBuilding("Chicken Farm", 400, 500, 450, Util.Units.PEASANT, 100 * Warcraft.FPS, Util.Buildings.CHICKEN_FARM);

            Dictionary <AnimationType, List <Sprite> > sprites = new Dictionary <AnimationType, List <Sprite> >();
            List <Sprite> spriteBuilding = new List <Sprite>();

            // BUILDING
            spriteBuilding.Add(new Sprite(576, 708, 48, 39));
            spriteBuilding.Add(new Sprite(572, 836, 61, 52));
            spriteBuilding.Add(new Sprite(398, 73, 63, 59));
            spriteBuilding.Add(new Sprite(398, 4, 64, 64));

            sprites.Add(AnimationType.WALKING, spriteBuilding);

            Dictionary <string, Frame> animations = new Dictionary <string, Frame>();

            animations.Add("building", new Frame(0, 4));

            this.animations = new Animation(sprites, animations, "building", width, height, false, information.BuildTime / spriteBuilding.Count);

            textureName = "Human Buildings (Summer)";

            unselected = true;
        }
Example #25
0
 public Barracks(int tileX, int tileY, int width, int height, ManagerMouse managerMouse, ManagerMap managerMap, ManagerUnits managerUnits)
     : base(tileX, tileY, width, height, managerMouse, managerMap, managerUnits)
 {
     ui = new UI.Buildings.Barracks(managerMouse, this);
 }
Example #26
0
 public Barracks(int tileX, int tileY, ManagerMouse managerMouse, ManagerMap managerMap, ManagerUnits managerUnits)
     : base(tileX, tileY, 128, 128, managerMouse, managerMap, managerUnits)
 {
     ui = new UI.Buildings.Barracks(managerMouse, this);
 }
Example #27
0
 public CityHall(int tileX, int tileY, ManagerMouse managerMouse, ManagerMap managerMap, ManagerUnits managerUnits) :
     base(tileX, tileY, 128, 128, managerMouse, managerMap, managerUnits)
 {
     ui = new UI.Buildings.CityHall(managerMouse, this);
 }
        public ElvenArcher(int tileX, int tileY, ManagerMouse managerMouse, ManagerMap managerMap, ManagerBuildings managerBuildings, ManagerUnits managerUnits)
            : base(tileX, tileY, 48, 48, 2, managerMouse, managerMap, managerBuildings)
        {
            Dictionary <AnimationType, List <Sprite> > sprites = new Dictionary <AnimationType, List <Sprite> >();
            List <Sprite> spriteWalking = new List <Sprite>();

            // UP
            spriteWalking.Add(new Sprite(6, 11, 40, 47));
            spriteWalking.Add(new Sprite(5, 85, 42, 49));
            spriteWalking.Add(new Sprite(5, 159, 41, 47));
            spriteWalking.Add(new Sprite(8, 234, 36, 47));
            spriteWalking.Add(new Sprite(5, 308, 41, 46));
            // DOWN
            spriteWalking.Add(new Sprite(241, 17, 44, 42));
            spriteWalking.Add(new Sprite(239, 92, 43, 41));
            spriteWalking.Add(new Sprite(241, 165, 43, 42));
            spriteWalking.Add(new Sprite(247, 238, 38, 41));
            spriteWalking.Add(new Sprite(244, 312, 41, 41));
            // LEFT
            spriteWalking.Add(new Sprite(128, 16, 38, 40));
            spriteWalking.Add(new Sprite(128, 92, 40, 41));
            spriteWalking.Add(new Sprite(129, 164, 39, 41));
            spriteWalking.Add(new Sprite(129, 240, 35, 38));
            spriteWalking.Add(new Sprite(130, 312, 35, 41));
            // UP-RIGHT
            spriteWalking.Add(new Sprite(67, 12, 42, 45));
            spriteWalking.Add(new Sprite(70, 88, 38, 41));
            spriteWalking.Add(new Sprite(68, 161, 40, 44));
            spriteWalking.Add(new Sprite(65, 230, 41, 46));
            spriteWalking.Add(new Sprite(67, 306, 40, 43));
            // DOWN-RIGHT
            spriteWalking.Add(new Sprite(186, 17, 42, 37));
            spriteWalking.Add(new Sprite(183, 92, 38, 37));
            spriteWalking.Add(new Sprite(184, 165, 40, 38));
            spriteWalking.Add(new Sprite(187, 237, 43, 36));
            spriteWalking.Add(new Sprite(187, 312, 42, 37));
            sprites.Add(AnimationType.WALKING, spriteWalking);

            List <Sprite> spriteAttacking = new List <Sprite>();

            // UP
            spriteAttacking.Add(new Sprite(10, 373, 45, 52));
            spriteAttacking.Add(new Sprite(10, 452, 44, 48));
            // DOWN
            spriteAttacking.Add(new Sprite(238, 388, 45, 36));
            spriteAttacking.Add(new Sprite(237, 460, 45, 39));
            // LEFT
            spriteAttacking.Add(new Sprite(128, 380, 46, 42));
            spriteAttacking.Add(new Sprite(130, 455, 39, 40));
            // UP-RIGHT
            spriteAttacking.Add(new Sprite(67, 382, 43, 47));
            spriteAttacking.Add(new Sprite(71, 457, 38, 46));
            // DOWN-RIGHT
            spriteAttacking.Add(new Sprite(189, 389, 36, 36));
            spriteAttacking.Add(new Sprite(184, 463, 41, 37));
            sprites.Add(AnimationType.ATTACKING, spriteAttacking);

            List <Sprite> spriteDie = new List <Sprite>();

            spriteDie.Add(new Sprite(181, 530, 44, 43));
            sprites.Add(AnimationType.DYING, spriteDie);

            Dictionary <string, Frame> animations = new Dictionary <string, Frame>();

            Dictionary <AnimationType, int> framesCount = new Dictionary <AnimationType, int>();

            framesCount.Add(AnimationType.WALKING, 5);
            framesCount.Add(AnimationType.ATTACKING, 2);
            framesCount.Add(AnimationType.DYING, 1);

            animations.Add("up", new Frame(framesCount));
            animations.Add("down", new Frame(framesCount));
            animations.Add("right", new Frame(framesCount));
            animations.Add("left", new Frame(framesCount, true));
            animations.Add("upRight", new Frame(framesCount));
            animations.Add("downRight", new Frame(framesCount));
            animations.Add("upLeft", new Frame(framesCount, true));
            animations.Add("downLeft", new Frame(framesCount, true));
            animations.Add("dying", new Frame(0, 1));

            this.animations = new Animation(sprites, animations, "down", width, height);

            ui = new UI.Units.ElvenArcher(managerMouse, this);
            textureName.Add(AnimationType.WALKING, "Elven Archer");

            information = new InformationUnit("Elven Archer", Race.HIGH_ELF, Faction.ALLIANCE, 150, 20, 360, 10, 500, 1, Util.Buildings.BARRACKS, 400, 20, 100, 4, 0, Util.Units.ELVEN_ARCHER);
            Information = information;
        }
Example #29
0
 public Movement(string id, Sprite sprite, ManagerTiles managerTiles, ManagerUnits managerUnit)
 {
     _sprite      = sprite;
     _speed       = 2;
     _pathfinding = new Pathfinding(id, sprite, managerTiles, managerUnit);
 }
Example #30
0
        public Footman(int tileX, int tileY, ManagerMouse managerMouse, ManagerMap managerMap, ManagerUnits managerUnits)
            : base(tileX, tileY, 52, 52, 2, managerMouse, managerMap, managerUnits)
        {
            Dictionary <AnimationType, List <Sprite> > sprites = new Dictionary <AnimationType, List <Sprite> >();
            List <Sprite> spriteWalking = new List <Sprite>();

            // UP
            spriteWalking.Add(new Sprite(22, 10, 31, 40));
            spriteWalking.Add(new Sprite(22, 62, 30, 52));
            spriteWalking.Add(new Sprite(22, 119, 30, 49));
            spriteWalking.Add(new Sprite(23, 182, 29, 37));
            spriteWalking.Add(new Sprite(22, 230, 31, 37));
            // DOWN
            spriteWalking.Add(new Sprite(316, 12, 32, 46));
            spriteWalking.Add(new Sprite(315, 72, 29, 42));
            spriteWalking.Add(new Sprite(316, 128, 30, 44));
            spriteWalking.Add(new Sprite(318, 178, 31, 42));
            spriteWalking.Add(new Sprite(316, 226, 32, 45));
            // LEFT
            spriteWalking.Add(new Sprite(176, 12, 32, 37));
            spriteWalking.Add(new Sprite(168, 73, 45, 37));
            spriteWalking.Add(new Sprite(170, 127, 39, 38));
            spriteWalking.Add(new Sprite(170, 179, 32, 33));
            spriteWalking.Add(new Sprite(169, 226, 35, 34));
            // UP-RIGHT
            spriteWalking.Add(new Sprite(99, 10, 25, 39));
            spriteWalking.Add(new Sprite(94, 65, 39, 41));
            spriteWalking.Add(new Sprite(95, 123, 32, 40));
            spriteWalking.Add(new Sprite(97, 179, 33, 38));
            spriteWalking.Add(new Sprite(99, 225, 31, 39));
            // DOWN-RIGHT
            spriteWalking.Add(new Sprite(244, 13, 40, 35));
            spriteWalking.Add(new Sprite(240, 74, 43, 40));
            spriteWalking.Add(new Sprite(242, 129, 41, 37));
            spriteWalking.Add(new Sprite(244, 177, 36, 35));
            spriteWalking.Add(new Sprite(244, 227, 38, 31));
            sprites.Add(AnimationType.WALKING, spriteWalking);

            List <Sprite> spriteAttacking = new List <Sprite>();

            // UP
            spriteAttacking.Add(new Sprite(2, 287, 48, 37));
            spriteAttacking.Add(new Sprite(15, 335, 32, 58));
            spriteAttacking.Add(new Sprite(2, 409, 56, 37));
            spriteAttacking.Add(new Sprite(27, 452, 28, 50));
            // DOWN
            spriteAttacking.Add(new Sprite(319, 285, 46, 38));
            spriteAttacking.Add(new Sprite(321, 329, 31, 47));
            spriteAttacking.Add(new Sprite(313, 398, 51, 47));
            spriteAttacking.Add(new Sprite(312, 466, 32, 54));
            // LEFT
            spriteAttacking.Add(new Sprite(172, 275, 33, 49));
            spriteAttacking.Add(new Sprite(151, 336, 58, 42));
            spriteAttacking.Add(new Sprite(164, 396, 40, 49));
            spriteAttacking.Add(new Sprite(173, 466, 47, 35));
            // UP-RIGHT
            spriteAttacking.Add(new Sprite(77, 286, 52, 38));
            spriteAttacking.Add(new Sprite(77, 338, 50, 40));
            spriteAttacking.Add(new Sprite(78, 396, 55, 49));
            spriteAttacking.Add(new Sprite(101, 453, 45, 48));
            // DOWN-RIGHT
            spriteAttacking.Add(new Sprite(248, 275, 22, 48));
            spriteAttacking.Add(new Sprite(241, 329, 35, 48));
            spriteAttacking.Add(new Sprite(246, 396, 35, 52));
            spriteAttacking.Add(new Sprite(233, 467, 61, 33));
            sprites.Add(AnimationType.ATTACKING, spriteAttacking);

            List <Sprite> spriteDie = new List <Sprite>();

            spriteDie.Add(new Sprite(236, 533, 47, 40));
            sprites.Add(AnimationType.DYING, spriteDie);

            Dictionary <string, Frame> animations = new Dictionary <string, Frame>();

            Dictionary <AnimationType, int> framesCount = new Dictionary <AnimationType, int>();

            framesCount.Add(AnimationType.WALKING, 5);
            framesCount.Add(AnimationType.ATTACKING, 4);
            framesCount.Add(AnimationType.DYING, 1);

            animations.Add("up", new Frame(framesCount));
            animations.Add("down", new Frame(framesCount));
            animations.Add("right", new Frame(framesCount));
            animations.Add("left", new Frame(framesCount, true));
            animations.Add("upRight", new Frame(framesCount));
            animations.Add("downRight", new Frame(framesCount));
            animations.Add("upLeft", new Frame(framesCount, true));
            animations.Add("downLeft", new Frame(framesCount, true));
            animations.Add("dying", new Frame(0, 1));

            this.animations = new Animation(sprites, animations, "down", width, height);

            ui = new UI.Units.Footman(managerMouse, this);
            textureName.Add(AnimationType.WALKING, "Footman");

            information = new InformationUnit("Footman", Race.HUMAN, Faction.ALLIANCE, 60, 6, 360, 10, 600, 1, Util.Buildings.BARRACKS, 60 * Warcraft.FPS, 6, 1, Util.Units.FOOTMAN, 3);
            Information = information;
        }