Example #1
0
 /// <summary>
 /// Detects collision between unit and tower
 /// </summary>
 /// <returns><c>true</c>, if collision was detected, <c>false</c> otherwise.</returns>
 /// <param name="unit">Unit unit</param>
 /// <param name="tower">Tower</param>
 /// <param name="direction">Movement Direction</param>
 /// <remarks>
 /// Movement direction used to differentiate unit(enemies and heroes)
 /// </remarks>
 public bool detectCollision(Unit unit, Tower tower, MovementDirection direction)
 {
     if (direction == MovementDirection.Left)
     {
         return(unit.getX() <= tower.X + 50);
     }
     else
     {
         return(unit.getX() + 45 >= tower.X);
     }
 }
Example #2
0
 /// <summary>
 /// Detects the collision between projectile and enemy
 /// </summary>
 /// <returns><c>true</c>, if collision was detected, <c>false</c> otherwise.</returns>
 /// <param name="projectile">Projectile</param>
 /// <param name="enemy">Enemy</param>
 public bool detectCollision(Projectile projectile, Unit enemy)
 {
     if (projectile == null)
     {
         return(false);
     }
     return(projectile.X + 20 >= enemy.getX());
 }
Example #3
0
        /// <summary>
        /// Creates a visual healing effect
        /// </summary>
        /// <returns>The effect.</returns>
        /// <param name="hero">Hero.</param>
        public Sprite createEffect(Unit hero)
        {
            Sprite sprite = SwinGame.CreateSprite(SwinGame.BitmapNamed("effectsBmp"), SwinGame.AnimationScriptNamed("healingScrpt"));

            SwinGame.SpriteStartAnimation(sprite, "healing_effect");
            SwinGame.SpriteSetX(sprite, hero.getX() - 70);
            SwinGame.SpriteSetY(sprite, hero.getY() - 80);
            return(sprite);
        }
Example #4
0
 /// <summary>
 /// A Constructor without the animation details
 /// </summary>
 public Projectile(string bitmap, float projectileSpeed, Unit unit)
 {
     this.unit = unit;
     this.projectileSpeed = projectileSpeed;
     sprite = SwinGame.CreateSprite (SwinGame.BitmapNamed (bitmap));
     SwinGame.SpriteSetX (sprite, unit.getX()+10);
     SwinGame.SpriteSetY (sprite, unit.getY());
     SwinGame.SpriteSetDX (sprite, projectileSpeed);
 }
Example #5
0
        /// <summary>
        /// Checks to see if a hero is in the healers range
        /// </summary>
        /// <returns><c>true</c>, if range was ined, <c>false</c> otherwise.</returns>
        /// <param name="hero">Hero.</param>
        public bool inRange(Unit hero)
        {
            float fieldOfView = this.getX() + 150;

            if (fieldOfView >= hero.getX())
            {
                return(true);
            }
            return(false);
        }
Example #6
0
 /// <summary>
 /// Creates skeleton for projectiles (i.e Animation, projectile speed, which unit it belongs to.)
 /// </summary>
 /// <param name="bitmap">Image for the projectile</param>
 /// <param name="animation">The animation script associated.</param>
 /// <param name="projectileSpeed">How fast the projectile fires.</param>
 /// <param name="unit">Unit.</param>
 public Projectile(string bitmap, string animation, float projectileSpeed, Unit unit)
 {
     this.unit = unit;
     this.projectileSpeed = projectileSpeed;
     sprite = SwinGame.CreateSprite (SwinGame.BitmapNamed (bitmap), SwinGame.AnimationScriptNamed(animation));
     SwinGame.SpriteStartAnimation (sprite, "fireball_cast");
     SwinGame.SpriteSetX (sprite, unit.getX()+10);
     SwinGame.SpriteSetY (sprite, unit.getY());
     SwinGame.SpriteSetDX (sprite, projectileSpeed);
 }
Example #7
0
        /// <summary>
        /// Checks to see if mage is in range of enemy
        /// </summary>
        /// <returns><c>true</c>, if range was ined, <c>false</c> otherwise.</returns>
        /// <param name="enemy">Enemy.</param>
        public bool inRange(Unit enemy)
        {
            float fieldOfView = getX() + 500;

            return(fieldOfView >= enemy.getX());
        }
Example #8
0
 /// <summary>
 /// Detects the collision between characters
 /// </summary>
 /// <returns><c>true</c>, if collision was detected, <c>false</c> otherwise.</returns>
 /// <param name="hero">Hero unit</param>
 /// <param name="enemy">Enemy.</param>
 public bool detectCollision(Unit hero, Unit enemy)
 {
     return(hero.getX() + 12 >= enemy.getX());
 }