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(); }
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(); }