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