/// <summary> /// Creates a new instance. /// </summary> /// <param name="game">Associated game object.</param> /// <param name="gamePlayScreen">Gameplay screen where the component will be presented.</param> public TexturedDrawableGameComponent(Game game, GameplayScreen gamePlayScreen) : base(game) { this.gamePlayScreen = gamePlayScreen; scaledSpriteBatch = (ScaledSpriteBatch)game.Services.GetService(typeof(ScaledSpriteBatch)); }
/// <summary> /// Creates a new instance. /// </summary> /// <param name="game">Associated game object.</param> /// <param name="gamePlayScreen">Gameplay screen where the component will be presented.</param> public TexturedDrawableGameComponent(Game game, GameplayScreen gamePlayScreen) : base(game) { this.gamePlayScreen = gamePlayScreen; scaledSpriteBatch = (ScaledSpriteBatch)game.Services.GetService(typeof(ScaledSpriteBatch)); }
/// <summary> /// Render the animation. /// </summary> /// <param name="ScaledSpriteBatch">ScaledSpriteBatch with which the current frame /// will be rendered.</param> /// <param name="position">The position to draw the current frame.</param> /// <param name="scale">Scale factor to apply to the current frame.</param> /// <param name="spriteEffect">SpriteEffect to apply to the /// current frame.</param> public void Draw(ScaledSpriteBatch ScaledSpriteBatch, Vector2 position, float scale, SpriteEffects spriteEffect) { drawWasAlreadyCalledOnce = true; ScaledSpriteBatch.Draw(animatedCharacter, position + Offset, new Rectangle(frameSize.X * currentFrame.X, frameSize.Y * currentFrame.Y, frameSize.X, frameSize.Y), Color.White, 0f, Vector2.Zero, scale, spriteEffect, 0); }
/// <summary> /// Load your graphics content. /// </summary> protected override void LoadContent() { // Load content belonging to the screen manager. ContentManager content = Game.Content; spriteBatch = new ScaledSpriteBatch(Game.GraphicsDevice, drawingScale); Game.Services.AddService(typeof(ScaledSpriteBatch), spriteBatch); font = content.Load <SpriteFont>("Fonts/MenuFont"); blankTexture = content.Load <Texture2D>("Textures/Backgrounds/blank"); buttonBackground = content.Load <Texture2D>("Textures/Backgrounds/buttonBackground"); // Tell each of the screens to load their content. foreach (GameScreen screen in screens) { screen.LoadContent(); } }
/// <summary> /// Creates a new score bar instance. /// </summary> /// <param name="game">The associated game object.</param> /// <param name="minValue">The score bar's minimal value.</param> /// <param name="maxValue">The score bar's maximal value.</param> /// <param name="position">The score bar's position.</param> /// <param name="height">The score bar's height.</param> /// <param name="width">The score bar's width.</param> /// <param name="scoreBarColor">Color to tint the scorebar's background with.</param> /// <param name="scoreBarOrientation">The score bar's orientation.</param> /// <param name="initialValue">The score bar's initial value.</param> /// <param name="screen">Gameplay screen where the score bar will appear.</param> /// <param name="isAppearAtCountDown">Whether or not the score bar will appear during the game's initial /// countdown phase.</param> public ScoreBar(Game game, int minValue, int maxValue, Vector2 position, int height, int width, Color scoreBarColor, ScoreBarOrientation scoreBarOrientation, int initialValue, GameplayScreen screen, bool isAppearAtCountDown) : base(game) { this.MinValue = minValue; this.MaxValue = maxValue; this.Position = position; this.ScoreBarColor = scoreBarColor; this.scoreBarOrientation = scoreBarOrientation; this.currentValue = initialValue; this.width = width; this.height = height; this.gameplayScreen = screen; this.isAppearAtCountDown = isAppearAtCountDown; scaledSpriteBatch = (ScaledSpriteBatch)Game.Services.GetService(typeof(ScaledSpriteBatch)); GetSpaceFromBorder(); }
/// <summary> /// Render the animation. /// </summary> /// <param name="ScaledSpriteBatch">ScaledSpriteBatch with which the current frame /// will be rendered.</param> /// <param name="position">The position to draw the current frame.</param> /// <param name="scale">Scale factor to apply to the current frame.</param> /// <param name="spriteEffect">SpriteEffect to apply to the /// current frame.</param> public void Draw(ScaledSpriteBatch ScaledSpriteBatch, Vector2 position, float scale, SpriteEffects spriteEffect) { drawWasAlreadyCalledOnce = true; ScaledSpriteBatch.Draw(animatedCharacter, position + Offset, new Rectangle(frameSize.X * currentFrame.X, frameSize.Y * currentFrame.Y, frameSize.X, frameSize.Y), Color.White, 0f, Vector2.Zero, scale, spriteEffect, 0); }
/// <summary> /// Render the animation. /// </summary> /// <param name="ScaledSpriteBatch">ScaledSpriteBatch with which the current /// frame will be rendered.</param> /// <param name="position">The position to draw the current frame.</param> /// <param name="spriteEffect">SpriteEffect to apply to the /// current frame.</param> public void Draw(ScaledSpriteBatch ScaledSpriteBatch, Vector2 position, SpriteEffects spriteEffect) { Draw(ScaledSpriteBatch, position, 1.0f, spriteEffect); }
/// <summary> /// Creates a new score bar instance. /// </summary> /// <param name="game">The associated game object.</param> /// <param name="minValue">The score bar's minimal value.</param> /// <param name="maxValue">The score bar's maximal value.</param> /// <param name="position">The score bar's position.</param> /// <param name="height">The score bar's height.</param> /// <param name="width">The score bar's width.</param> /// <param name="scoreBarColor">Color to tint the scorebar's background with.</param> /// <param name="scoreBarOrientation">The score bar's orientation.</param> /// <param name="initialValue">The score bar's initial value.</param> /// <param name="screen">Gameplay screen where the score bar will appear.</param> /// <param name="isAppearAtCountDown">Whether or not the score bar will appear during the game's initial /// countdown phase.</param> public ScoreBar(Game game, int minValue, int maxValue, Vector2 position, int height, int width, Color scoreBarColor, ScoreBarOrientation scoreBarOrientation, int initialValue, GameplayScreen screen, bool isAppearAtCountDown) : base(game) { this.MinValue = minValue; this.MaxValue = maxValue; this.Position = position; this.ScoreBarColor = scoreBarColor; this.scoreBarOrientation = scoreBarOrientation; this.currentValue = initialValue; this.width = width; this.height = height; this.gameplayScreen = screen; this.isAppearAtCountDown = isAppearAtCountDown; scaledSpriteBatch = (ScaledSpriteBatch)Game.Services.GetService(typeof(ScaledSpriteBatch)); GetSpaceFromBorder(); }
/// <summary> /// Load your graphics content. /// </summary> protected override void LoadContent() { // Load content belonging to the screen manager. ContentManager content = Game.Content; spriteBatch = new ScaledSpriteBatch(Game.GraphicsDevice, drawingScale); Game.Services.AddService(typeof(ScaledSpriteBatch), spriteBatch); font = content.Load<SpriteFont>("Fonts/MenuFont"); blankTexture = content.Load<Texture2D>("Textures/Backgrounds/blank"); buttonBackground = content.Load<Texture2D>("Textures/Backgrounds/buttonBackground"); // Tell each of the screens to load their content. foreach (GameScreen screen in screens) { screen.LoadContent(); } }
/// <summary> /// Render the animation. /// </summary> /// <param name="ScaledSpriteBatch">ScaledSpriteBatch with which the current /// frame will be rendered.</param> /// <param name="position">The position to draw the current frame.</param> /// <param name="spriteEffect">SpriteEffect to apply to the /// current frame.</param> public void Draw(ScaledSpriteBatch ScaledSpriteBatch, Vector2 position, SpriteEffects spriteEffect) { Draw(ScaledSpriteBatch, position, 1.0f, spriteEffect); }