public void CreateUnit(Vector2 myCoordinate, Texture2DFramed myFramedTexture, UnitData myUnitData)
        {
            HexComponent hexComp = GetHex(myCoordinate);

            if (hexComp.GetUnit() == null)
            {
                SpriteComponent hexSprite = GetHex(myCoordinate)._parent.GetDrawable("SpriteComponent") as SpriteComponent;

                Entity unitEntity = new Entity(15, State.ScreenState.SKIRMISH);

                AnimatedSpriteComponent unitSprite = new AnimatedSpriteComponent(true, hexSprite.GetCenterPosition(), myFramedTexture);

                unitEntity.AddComponent(unitSprite);

                UnitComponent unitComp = new UnitComponent(GetHex(myCoordinate), true);
                unitComp.SetUnitData(myUnitData);
                unitEntity.AddComponent(unitComp);

                EntityManager.AddEntity(unitEntity);

                alliedUnitList.Add(unitEntity);
                totalUnitList.Add(unitEntity);

                hexComp.SetUnit(unitComp);
                UpdateVisibilityAllies();
            }
            else
            {
                throw new Exception("There is already a unit where you are trying to create one.");
            }
        }
        public int MagicalDamageAgainst(UnitData enemy)
        {
            int damage = 0;

            int weaponBonus = 0;
            if (equippedWeapon != null)
            {
                weaponBonus = equippedWeapon.Damage();
            }

            damage += weaponBonus + attributes["magic"] - enemy.attributes["resistance"];

            return damage;
        }
        public int PhysicalDamageAgainst(UnitData enemy)
        {
            int damage = 0;
            int weaponBonus = 0;
            if (equippedWeapon != null)
            {
                weaponBonus = equippedWeapon.Damage();
            }

            damage += weaponBonus + attributes["strength"] - enemy.attributes["defense"];

            return damage;
        }
 public void SetUnitData(UnitData unitData)
 {
     this.unitData = unitData;
     InitializeUnitData();
 }