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