void FGradientStopMark::SetColor( const FLinearColor& InColor, FCurveOwnerInterface& CurveOwner ) { TArray<FRichCurveEditInfo> Curves = CurveOwner.GetCurves(); // Update the color component on each curve if( IsValidColorMark(Curves) ) { FRichCurve* RedCurve = Curves[0].CurveToEdit; FRichCurve* GreenCurve = Curves[1].CurveToEdit; FRichCurve* BlueCurve = Curves[2].CurveToEdit; RedCurve->SetKeyValue( RedKeyHandle, InColor.R ); GreenCurve->SetKeyValue( GreenKeyHandle, InColor.G ); BlueCurve->SetKeyValue( BlueKeyHandle, InColor.B ); } else if( IsValidAlphaMark(Curves) ) { FRichCurve* AlphaCurve = Curves[3].CurveToEdit; AlphaCurve->SetKeyValue( AlphaKeyHandle, InColor.A ); } }