void FGradientStopMark::SetTime( float NewTime, FCurveOwnerInterface& CurveOwner )
{
	TArray<FRichCurveEditInfo> Curves = CurveOwner.GetCurves();

	// Update the time on each curve
	if( IsValidColorMark(Curves) )
	{
		FRichCurve* RedCurve = Curves[0].CurveToEdit;
		FRichCurve* GreenCurve = Curves[1].CurveToEdit;
		FRichCurve* BlueCurve = Curves[2].CurveToEdit;

		RedKeyHandle = RedCurve->SetKeyTime( RedKeyHandle, NewTime );
		GreenKeyHandle = GreenCurve->SetKeyTime( GreenKeyHandle, NewTime );
		BlueKeyHandle = BlueCurve->SetKeyTime( BlueKeyHandle, NewTime );
	}
	else if( IsValidAlphaMark(Curves) )
	{
		FRichCurve* AlphaCurve = Curves[3].CurveToEdit;

		AlphaKeyHandle = AlphaCurve->SetKeyTime( AlphaKeyHandle, NewTime );
	} 

	Time = NewTime;
}