public override void Load()
        {
            sprite = new LoopingSprite("TestAnimation");
            sprite.Position = Screen.Center;
            sprite.Color = Color.BlueViolet;
            AddObject(sprite);
            cTrans = new ReversibleTransition<Color>(Color.BlanchedAlmond, Color.Coral, 1);
            cTrans.OnValueChanged = new Action<Color>(ChangeColor);
            cTrans.Loops = true;
            cTrans.OnLoopReverse = new Action(Reversed);
            cTrans.Running = true;
            AddObject(cTrans);

            InputManager.AddInput(ColorControls.Click, MouseButtons.MouseLeft);
            InputManager.AddInput(ColorControls.Up, Keys.Up, InputModifier.Held);
            InputManager.AddInput(ColorControls.Left, Keys.Left, InputModifier.Held);
            InputManager.AddInput(ColorControls.Right, Keys.Right, InputModifier.Held);
            InputManager.AddInput(ColorControls.Down, Keys.Down, InputModifier.Held);
            InputManager.AddInput(ColorControls.SpeedUp, Keys.W);
            InputManager.AddInput(ColorControls.SpeedDown, Keys.S);
            InputManager.AddCombinedInput(ColorControls.RotateRight, Keys.Left, Keys.Right);
            InputManager.AddCombinedInput(ColorControls.RotateLeft, Keys.Left, Keys.Right, Keys.RightShift);
            InputManager.AddCombinedInput(ColorControls.ScaleUp, Keys.Up, Keys.Down);
            InputManager.AddCombinedInput(ColorControls.ScaleDown, Keys.Up, Keys.Down, Keys.RightShift);
        }
 public void SetColor(Color start, Color end)
 {
     ReversibleTransition<Color> tmpTrans = new ReversibleTransition<Color>(start, end, 1);
     tmpTrans.OnValueChanged = new Action<Color>(ChangeColor);
     tmpTrans.Loops = true;
     tmpTrans.OnLoopReverse = new Action(Reversed);
     tmpTrans.Running = true;
     ReplaceObject(ref cTrans, tmpTrans);
 }