public virtual void Draw() { if (exists) { if (visible) { Rectangle srect = sprite.GetRect(_curAnim.Frame); srect.Height -= (int)y_push; SpriteDrawer.DrawSprite(sprite.Tex, MathUtilities.CreateRectangle(Position.X - offset.X * scale, Position.Y - offset.Y * scale + (int)y_push, srect.Width * scale, srect.Height * scale), srect, color * opacity, rotation, _flip, DrawingUtilities.GetDrawingZ(layer, MapUtilities.GetInGridPosition(Position).Y + height)); } if (shadow != null) { shadow.Draw(); } if (GlobalState.draw_hitboxes && HasVisibleHitbox) { SpriteDrawer.DrawSprite(ResourceManager.GetTexture("hitbox"), Hitbox, color: Color.Red, Z: DrawingUtilities.GetDrawingZ(DrawOrder.HITBOX, 0)); } } }
public override void Draw() { if (visible && exists) { float draw_y = MapUtilities.GetInGridPosition(Position).Y; if (!is_behind_player) { float player_y = MapUtilities.GetInGridPosition(_root.Position).Y; draw_y = player_y + 0.5f; } SpriteDrawer.DrawSprite(Texture, MathUtilities.CreateRectangle(Position.X - offset.X, Position.Y - offset.Y, frameWidth, frameHeight), spriteRect, rotation: rotation, Z: DrawingUtilities.GetDrawingZ(layer, draw_y)); wide_attack.Draw(); long_attack.Draw(); } }
public virtual void Draw() { if (visible && exists) { SpriteDrawer.DrawSprite(Texture, MathUtilities.CreateRectangle(Position.X - offset.X * scale, Position.Y - offset.Y * scale, frameWidth * scale, frameHeight * scale), spriteRect, Color.White * _opacity, rotation, _flip, DrawingUtilities.GetDrawingZ(layer, MapUtilities.GetInGridPosition(Position).Y)); if (shadow != null) { shadow.Draw(); } } }
public override void Draw() { if (visible && exists) { float draw_y = MapUtilities.GetInGridPosition(Position).Y; if (!is_behind_player) { float player_y = MapUtilities.GetInGridPosition(_root.Position).Y + _root.height; draw_y = player_y + 0.5f; } SpriteDrawer.DrawSprite(sprite.Tex, MathUtilities.CreateRectangle(Position.X - offset.X, Position.Y - offset.Y, sprite.Width, sprite.Height), sprite.GetRect(_curAnim.Frame), rotation: rotation, Z: DrawingUtilities.GetDrawingZ(layer, draw_y)); wide_attack.Draw(); long_attack.Draw(); //Draw hitbox, but not yourself visible = false; base.Draw(); visible = true; } }
public void Draw(bool ignoreEmpty = false) { float z = DrawingUtilities.GetDrawingZ(_layer); for (int y = 0; y < heightInTiles; y++) { for (int x = 0; x < widthInTiles; x++) { Rectangle?rect = _rects[x + y * widthInTiles]; if (rect.HasValue) { int tile = data[x + y * widthInTiles]; if (!ignoreEmpty || tile != 0) { SpriteDrawer.DrawSprite(tiles, new Rectangle(x * _tileWidth, y * _tileHeight, _tileWidth, _tileHeight), rect.Value, Z: z); } } } } }