Пример #1
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();
        }
Пример #2
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();
        }
Пример #3
0
 /// <summary>
 /// Draws all visible backgrounds in a given layer that are a part of this collection using the given palette information.
 /// </summary>
 /// <param name="layer">The layer of backgrounds to draw.</param>
 /// <param name="palettefx">The palette information used in drawing.</param>
 public void Draw(BackgroundLayer layer, Combat.PaletteFx palettefx)
 {
     foreach (var background in this)
     {
         if (background.Layer == layer && background.IsVisible)
         {
             background.Draw(palettefx);
         }
     }
 }
Пример #4
0
        public override void Run(Combat.Character character)
        {
            Int32   time      = EvaluationHelper.AsInt32(character, Time, -2);
            Vector3 paladd    = EvaluationHelper.AsVector3(character, PaletteColorAdd, new Vector3(0, 0, 0));
            Vector3 palmul    = EvaluationHelper.AsVector3(character, PaletteColorMultiply, new Vector3(255, 255, 255));
            Vector4 sinadd    = EvaluationHelper.AsVector4(character, PaletteColorSineAdd, new Vector4(0, 0, 0, 1));
            Boolean invert    = EvaluationHelper.AsBoolean(character, PaletteColorInversion, false);
            Int32   basecolor = EvaluationHelper.AsInt32(character, PaletteColor, 255);

            if (time < -1)
            {
                return;
            }

            Combat.PaletteFx palfx = character.Engine.Stage.PaletteFx;
            palfx.Set(time, paladd, palmul, sinadd, invert, basecolor / 255.0f);
        }
Пример #5
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();
        }
Пример #6
0
 public abstract void Draw(Combat.PaletteFx palettefx);