Esempio n. 1
0
 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));
         }
     }
 }
Esempio n. 2
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();
            }
        }
Esempio n. 3
0
        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();
                }
            }
        }
Esempio n. 4
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 + _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;
            }
        }
Esempio n. 5
0
        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);
                        }
                    }
                }
            }
        }