public void GameRender(GameRenderEventArgs e) { if (inGamePlay) { Draw(e.RenderContext, positionX, positionY); } }
void Instance_GameRender(GameRenderEventArgs e) { if (!Engine.Instance.DrawHitboxes) { return; } foreach (CollisionBox hitbox in hitboxes) { if (!enabledBoxes.Contains(hitbox.ID)) { continue; } hitbox.SetParent(this); var boundBox = hitbox.BoxAt(PositionSrc.Position); boundBox.Offset(-Parent.Screen.OffsetX, -Parent.Screen.OffsetY); if (rectTex == null) { rectTex = e.RenderContext.CreateColorResource(new MegaMan.Common.Color(1, 0.6f, 0, 0.7f)); } e.RenderContext.Draw(rectTex, 5, new Common.Geometry.Point((int)(boundBox.X), (int)(boundBox.Y)), new Common.Geometry.Rectangle(0, 0, (int)(boundBox.Width), (int)(boundBox.Height))); } }
private void Instance_GameRender(GameRenderEventArgs e) { evenframe = !evenframe; foreach (var sprite in currentSpriteGroup) { RenderSprite(sprite, e); } }
private void Instance_GameRenderEnd(GameRenderEventArgs e) { GraphicsDevice.SetRenderTarget(null); masterSpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, Engine.Instance.FilterState, null, null); GraphicsDevice.Clear(Color.Black); DrawMasterTargetToBatch(); masterSpriteBatch.End(); EndDraw(); }
protected virtual void GameRender(GameRenderEventArgs e) { foreach (var obj in objects.Values) { obj.Draw(e.RenderContext); } if (Draw != null) { Draw(e); } }
public void Draw(GameRenderEventArgs renderArgs, PointF playerPos, float adj_x = 0, float adj_y = 0, float off_x = 0, float off_y = 0) { int width = Screen.PixelWidth; int height = Screen.PixelHeight; if (!isAutoscrolling) { offsetXF = offsetYF = 0; centerX = playerPos.X + adj_x; centerY = playerPos.Y + adj_y; if (centerX > Game.CurrentGame.PixelsAcross / 2) { offsetXF = centerX - Game.CurrentGame.PixelsAcross / 2; if (offsetXF > width - Game.CurrentGame.PixelsAcross) { offsetXF = width - Game.CurrentGame.PixelsAcross; } } if (centerY > Game.CurrentGame.PixelsDown / 2) { offsetYF = centerY - Game.CurrentGame.PixelsDown / 2; if (offsetYF > height - Game.CurrentGame.PixelsDown) { offsetYF = height - Game.CurrentGame.PixelsDown; } if (offsetYF < 0) { offsetYF = 0; } } offsetXF += off_x; offsetYF += off_y; } foreach (var layer in this.layers) { layer.Draw(renderArgs, this.Screen.PixelWidth); } }
private void RenderSprite(Sprite currentSprite, GameRenderEventArgs e) { if (evenframe) { foreach (var meter in HealthMeter.AllMeters) { var bounds = new RectangleF(currentSprite.BoundBox.X, currentSprite.BoundBox.Y, currentSprite.BoundBox.Width, currentSprite.BoundBox.Height); bounds.Offset(-currentSprite.HotSpot.X, -currentSprite.HotSpot.Y); bounds.Offset(PositionSrc.Position); if (meter.Bounds.IntersectsWith(bounds)) { Draw(currentSprite, e.RenderContext, 5); return; } } } Draw(currentSprite, e.RenderContext, currentSprite.Layer + 1); }
public void Draw(GameRenderEventArgs renderArgs, int screenPixelWidth) { if (_info.Parallax) { float trueOffset = OffsetX; int maxOffset = screenPixelWidth - Game.CurrentGame.PixelsAcross; if (OffsetX >= 0 && OffsetX <= maxOffset) { float offsetRatio = OffsetX / maxOffset; int parallaxDistance = (_info.Tiles.Width * _info.Tiles.Tileset.TileSize) - Game.CurrentGame.PixelsAcross; trueOffset = offsetRatio * parallaxDistance; } this.Draw(renderArgs.RenderContext, -trueOffset, 0); } else { this.Draw(renderArgs.RenderContext, (_locationOffsetX - OffsetX), (_locationOffsetY - OffsetY)); } }
// Executes one step (frame) of the game, both logic and drawing. The parameter is time // since last frame, but it isn't actually used except in the tick event. No one uses it // there either. private bool Step(float dt) { CheckInput(); GameTickEventArgs e = new GameTickEventArgs(dt); if (GameLogicTick != null) { GameLogicTick(e); // this one is for more basic operations } // render phase GameRenderEventArgs r = new GameRenderEventArgs(renderContext); GraphicsDevice.Clear(Microsoft.Xna.Framework.Color.Green); if (GameRenderBegin != null) { GameRenderBegin(r); } renderContext.SetOpacity(opacity); renderContext.Begin(); if (GameRender != null) { GameRender(r); } renderContext.End(); if (GameRenderEnd != null) { GameRenderEnd(r); } return(false); }
protected override void GameRender(GameRenderEventArgs e) { if (drawFunc != null) drawFunc(e); base.GameRender(e); }
private void DrawScreen(GameRenderEventArgs renderArgs) { _currentScreen.Draw(renderArgs, PlayerPos.Position); }
public void Draw(GameRenderEventArgs renderArgs, PointF playerPos, float adj_x = 0, float adj_y = 0, float off_x = 0, float off_y = 0) { int width = Screen.PixelWidth; int height = Screen.PixelHeight; if (!isAutoscrolling) { OffsetX = OffsetY = 0; centerX = playerPos.X + adj_x; centerY = playerPos.Y + adj_y; if (centerX > Game.CurrentGame.PixelsAcross / 2) { OffsetX = centerX - Game.CurrentGame.PixelsAcross / 2; if (OffsetX > width - Game.CurrentGame.PixelsAcross) OffsetX = width - Game.CurrentGame.PixelsAcross; } if (centerY > Game.CurrentGame.PixelsDown / 2) { OffsetY = centerY - Game.CurrentGame.PixelsDown / 2; if (OffsetY > height - Game.CurrentGame.PixelsDown) OffsetY = height - Game.CurrentGame.PixelsDown; if (OffsetY < 0) OffsetY = 0; } OffsetX += off_x; OffsetY += off_y; } foreach (var layer in this.layers) { layer.Draw(renderArgs, this.Screen.PixelWidth); } }
void Instance_GameRender(GameRenderEventArgs e) { if (!Engine.Instance.DrawHitboxes) return; foreach (CollisionBox hitbox in hitboxes) { if (!enabledBoxes.Contains(hitbox.ID)) continue; RectangleF boundBox = hitbox.BoxAt(PositionSrc.Position); boundBox.Offset(-Parent.Screen.OffsetX, -Parent.Screen.OffsetY); if (rectTex == null) rectTex = e.RenderContext.CreateColorResource(new MegaMan.Common.Color(1, 0.6f, 0, 0.7f)); e.RenderContext.Draw(rectTex, 5, new Common.Geometry.Point((int)(boundBox.X), (int)(boundBox.Y)), new Common.Geometry.Rectangle(0, 0, (int)(boundBox.Width), (int)(boundBox.Height))); } }
private void Instance_GameRenderBegin(GameRenderEventArgs e) { BeginDraw(); GraphicsDevice.SetRenderTarget(masterRenderingTarget); GraphicsDevice.Clear(Color.Black); }
// Executes one step (frame) of the game, both logic and drawing. The parameter is time // since last frame, but it isn't actually used except in the tick event. No one uses it // there either. private bool Step(float dt) { CheckInput(); GameTickEventArgs e = new GameTickEventArgs(dt); if (GameLogicTick != null) GameLogicTick(e); // this one is for more basic operations // render phase GameRenderEventArgs r = new GameRenderEventArgs(renderContext); GraphicsDevice.Clear(Microsoft.Xna.Framework.Color.Green); if (GameRenderBegin != null) GameRenderBegin(r); renderContext.SetOpacity(opacity); renderContext.Begin(); if (GameRender != null) GameRender(r); renderContext.End(); if (GameRenderEnd != null) GameRenderEnd(r); return false; }
private void DrawJoin(GameRenderEventArgs renderArgs) { _currentScreen.Draw(renderArgs, PlayerPos.Position, 0, 0, currentJoin.OffsetX, currentJoin.OffsetY); nextScreen.Draw(renderArgs, PlayerPos.Position, currentJoin.NextScreenX, currentJoin.NextScreenY, currentJoin.NextOffsetX, currentJoin.NextOffsetY); }
public void GameRender(GameRenderEventArgs e) { if (inGamePlay) Draw(e.RenderContext, positionX, positionY); }
private void Instance_GameRenderEnd(GameRenderEventArgs e) { DrawMasterTargetToBatch(); EndDraw(); }
protected virtual void GameRender(GameRenderEventArgs e) { foreach (var obj in objects.Values) { obj.Draw(e.RenderContext); } if (Draw != null) Draw(e); }