Exemplo n.º 1
0
        public override void Draw(Combat.PaletteFx palettefx)
        {
            Point tilestart;
            Point tileend;

            GetTileLength(Sprite.Size, out tilestart, out tileend);

            Video.DrawState drawstate = SpriteManager.DrawState;
            drawstate.Reset();
            drawstate.Blending         = Transparency;
            drawstate.ScissorRectangle = DrawRect;
            drawstate.Set(Sprite);

            for (Int32 y = tilestart.Y; y != tileend.Y; ++y)
            {
                for (Int32 x = tilestart.X; x != tileend.X; ++x)
                {
                    Vector2 adjustment = (Vector2)(Sprite.Size + TilingSpacing) * new Vector2(x, y);
                    Vector2 location   = CurrentLocation + adjustment;

                    drawstate.AddData(location, null);
                }
            }

            if (palettefx != null)
            {
                palettefx.SetShader(drawstate.ShaderParameters);
            }

            drawstate.Use();
        }
Exemplo n.º 2
0
        public override void Draw(Combat.PaletteFx palettefx)
        {
            Drawing.Sprite sprite = SpriteManager.GetSprite(AnimationManager.CurrentElement.SpriteId);
            if (sprite == null)
            {
                return;
            }

            Point tilestart;
            Point tileend;

            GetTileLength(sprite.Size, out tilestart, out tileend);

            Video.DrawState drawstate = SpriteManager.DrawState;
            drawstate.Reset();
            drawstate.Blending = Transparency;
            drawstate.Set(sprite);
            drawstate.AddData(CurrentLocation, null);

            if (palettefx != null)
            {
                palettefx.SetShader(drawstate.ShaderParameters);
            }

            drawstate.Use();
        }
Exemplo n.º 3
0
        public override void Draw(Combat.PaletteFx palettefx)
        {
            GetTileLength(Sprite.Size, out var tilestart, out var tileend);

            var drawstate = SpriteManager.DrawState;

            drawstate.Reset();
            drawstate.Blending         = Transparency;
            drawstate.ScissorRectangle = DrawRect;
            drawstate.Set(Sprite);

            for (var x = tilestart.X; x != tileend.X; ++x)
            {
                var adjustment = (Vector2)Sprite.Size * new Vector2(x, 0);
                var location   = CurrentLocation + adjustment;

                drawstate.AddData(location, null);
            }

            palettefx?.SetShader(drawstate.ShaderParameters);

            drawstate.Use();
        }