public void Calculate(AnimationControl animationControl, CubeControlValues values)
        {
            if (values.CubeThetaY >= 45)
            {
                animationControl.SetAnimation(new RotateYBackward());
                return;
            }

            values.CubeThetaY++;
            values.CameraPhi++;
        }
        public void Calculate(AnimationControl animationControl, CubeControlValues values)
        {
            if (values.CubeThetaX <= 0)
            {
                animationControl.SetAnimation(new RotateYForward());
                return;
            }

            values.CubeThetaX--;
            values.CameraTheta--;
        }
        public void Calculate(AnimationControl animationControl, CubeControlValues values)
        {
            if (values.CubeScale <= 1F)
            {
                animationControl.SetAnimation(new RotateXForward());
                return;
            }

            values.CubeScale -= .01F;
            values.CameraTheta--;
        }
        public void Calculate(AnimationControl animationControl, CubeControlValues values)
        {
            if (values.CubeScale >= 1.5F)
            {
                animationControl.SetAnimation(new ScaleDown());
                return;
            }

            values.CubeScale += .01F;
            values.CameraTheta--;
        }
        public void Calculate(AnimationControl animationControl, CubeControlValues values)
        {
            if (values.CubeThetaY <= 0)
            {
                animationControl.SetAnimation(new ResetCameraPosition());
                return;
            }

            values.CubeThetaY--;
            values.CameraPhi++;
        }
        public void Calculate(AnimationControl animationControl, CubeControlValues values)
        {
            if (values.CameraTheta == defaultValues.CameraTheta && values.CameraPhi == defaultValues.CameraPhi)
            {
                animationControl.SetAnimation(new ScaleUp());
            }

            if (values.CameraTheta != defaultValues.CameraTheta)
            {
                values.CameraTheta += values.CameraTheta < defaultValues.CameraTheta ? 1F : -1F;
            }

            if (values.CameraPhi != defaultValues.CameraPhi)
            {
                values.CameraPhi += values.CameraPhi < defaultValues.CameraPhi ? 1F : -1F;
            }
        }