void SAnimCompositePanel::Update() { ClearSelected(); if ( Composite != NULL ) { SAnimCompositeEditor* Editor = CompositeEditor.Pin().Get(); TSharedPtr<FTrackColorTracker> ColourTracker = MakeShareable(new FTrackColorTracker); ColourTracker->AddColor(FLinearColor(0.9f, 0.9f, 0.9f, 0.9f)); ColourTracker->AddColor(FLinearColor(0.5f, 0.5f, 0.5f)); FLinearColor NodeColor = FLinearColor(0.f, 0.5f, 0.0f, 0.5f); TSharedPtr<SVerticalBox> CompositeSlots; PanelArea->SetContent( SAssignNew( CompositeSlots, SVerticalBox ) ); TSharedRef<S2ColumnWidget> SectionTrack = Create2ColumnWidget(CompositeSlots.ToSharedRef()); SectionTrack->LeftColumn->AddSlot() .AutoHeight() .VAlign(VAlign_Center) [ SNew(SAnimSegmentsPanel) .AnimTrack(&Composite->AnimationTrack) .NodeSelectionSet(&SelectionSet) .ViewInputMin(ViewInputMin) .ViewInputMax(ViewInputMax) .ColorTracker(ColourTracker) .NodeColor(NodeColor) .ScrubPosition( Editor, &SAnimCompositeEditor::GetScrubValue ) .TrackMaxValue(Composite->SequenceLength) .TrackNumDiscreteValues(Composite->GetNumberOfFrames()) .OnAnimSegmentNodeClicked( this, &SAnimCompositePanel::ShowSegmentInDetailsView ) .OnPreAnimUpdate( Editor, &SAnimCompositeEditor::PreAnimUpdate ) .OnPostAnimUpdate( Editor, &SAnimCompositeEditor::PostAnimUpdate ) ]; } }