public void Draw(SpriteBatch sb, Moveable_Object.CardinalDirection direction)
        {
            switch (direction)
            {
            case Moveable_Object.CardinalDirection.up:
                sb.Draw(spriteSheet.texture, position, null, new Rectangle(spriteSheet.frameSize.X * currentFrame.X, spriteSheet.frameSize.Y * currentFrame.Y, spriteSheet.frameSize.X, spriteSheet.frameSize.Y), new Vector2(spriteSheet.frameSize.X / 2, spriteSheet.frameSize.Y / 2), 0, Vector2.One, color, SpriteEffects.None, 1f);
                break;

            case Moveable_Object.CardinalDirection.down:
                sb.Draw(spriteSheet.texture, position, null, new Rectangle(spriteSheet.frameSize.X * currentFrame.X, spriteSheet.frameSize.Y * currentFrame.Y, spriteSheet.frameSize.X, spriteSheet.frameSize.Y), new Vector2(spriteSheet.frameSize.X / 2, spriteSheet.frameSize.Y / 2), (float)Math.PI / 2f * 2, Vector2.One, color, SpriteEffects.None, 1f);

                break;

            case Moveable_Object.CardinalDirection.right:
                sb.Draw(spriteSheet.texture, position, null, new Rectangle(spriteSheet.frameSize.X * currentFrame.X, spriteSheet.frameSize.Y * currentFrame.Y, spriteSheet.frameSize.X, spriteSheet.frameSize.Y), new Vector2(spriteSheet.frameSize.X / 2, spriteSheet.frameSize.Y / 2), (float)Math.PI / 2f, Vector2.One, color, SpriteEffects.None, 1f);

                break;

            case Moveable_Object.CardinalDirection.left:
                sb.Draw(spriteSheet.texture, position, null, new Rectangle(spriteSheet.frameSize.X * currentFrame.X, spriteSheet.frameSize.Y * currentFrame.Y, spriteSheet.frameSize.X, spriteSheet.frameSize.Y), new Vector2(spriteSheet.frameSize.X / 2, spriteSheet.frameSize.Y / 2), (float)Math.PI / 2f * 3, Vector2.One, color, SpriteEffects.None, 1f);


                break;
            }
        }
Example #2
0
        /// <summary>
        /// Fires a new projectile.
        /// </summary>
        /// <param name="playerDamageMultiplyier">Damage multiplier of the player upon firing.</param>
        /// <param name="direction">The direction of the Projectile.</param>
        public void CreateNewProjectile(float playerDamageMultiplyier, Moveable_Object.CardinalDirection direction)
        {
            Projectile newProjectile = new Projectile(projectileType.hitboxLength, projectileType.hitboxWidth, projectileType.spriteSheet, projectileType.timeBetweenFrames, projectileType.speed, middlepos, direction, baseDamage, baseRange, rangeMultiplyier, playerDamageMultiplyier);

            Level.projectilesOnScreenList.Add(newProjectile);
        }