Exemplo n.º 1
0
        public static void TestTintFrom()
        {
            Color       colourStart = new Color(0.4f, 0.2f, 0.7f, 0.5f);
            Color       colourEnd   = new Color(0.3f, 0.4f, 0.15f, 0.25f);
            Color       colourVal   = colourStart;
            Ref <Color> colourRef   = new Ref <Color>(
                () => colourVal,
                t => colourVal = t
                );

            CommandQueue queue = new CommandQueue();

            queue.Sequence(
                Cmd.Repeat(2,
                           Cmd.Sequence(
                               Cmd.TintFrom(colourRef, colourEnd, 1.0),
                               Cmd.WaitForFrames(1)
                               )
                           )
                );

            queue.Update(0.2);
            AreEqual(colourVal, colourStart * 0.2f + colourEnd * 0.8f, 0.001f);
            colourVal = colourStart;
            queue.Update(0.8);
            AreEqual(colourVal, colourStart, 0.001f);
            queue.Update(0.0);
            queue.Update(0.5);
            AreEqual(colourVal, colourStart * 0.5f + colourEnd * 0.5f, 0.001f);
        }