void FSlomoTrackEditor::BuildAddTrackMenu(FMenuBuilder& MenuBuilder) { UMovieSceneSequence* RootMovieSceneSequence = GetSequencer()->GetRootMovieSceneSequence(); if ((RootMovieSceneSequence == nullptr) || (RootMovieSceneSequence->GetClass()->GetName() != TEXT("LevelSequence"))) { return; } MenuBuilder.AddMenuEntry( LOCTEXT("AddPlayRateTrack", "Play Rate Track"), LOCTEXT("AddPlayRateTrackTooltip", "Adds a new track that controls the playback rate of the sequence."), FSlateIcon(FEditorStyle::GetStyleSetName(), "Sequencer.Tracks.Slomo"), FUIAction( FExecuteAction::CreateRaw(this, &FSlomoTrackEditor::HandleAddSlomoTrackMenuEntryExecute) ) ); }
void FCameraCutTrackEditor::BuildAddTrackMenu(FMenuBuilder& MenuBuilder) { UMovieSceneSequence* RootMovieSceneSequence = GetSequencer()->GetRootMovieSceneSequence(); if ((RootMovieSceneSequence == nullptr) || (RootMovieSceneSequence->GetClass()->GetName() != TEXT("LevelSequence"))) { return; } MenuBuilder.AddMenuEntry( LOCTEXT("AddCameraCutTrack", "Camera Cut Track"), LOCTEXT("AddCameraCutTooltip", "Adds a camera cut track, as well as a new camera cut at the current scrubber location if a camera is selected."), FSlateIcon(FEditorStyle::GetStyleSetName(), "Sequencer.Tracks.CameraCut"), FUIAction( FExecuteAction::CreateRaw(this, &FCameraCutTrackEditor::HandleAddCameraCutTrackMenuEntryExecute), FCanExecuteAction::CreateRaw(this, &FCameraCutTrackEditor::HandleAddCameraCutTrackMenuEntryCanExecute) ) ); }
void FSpawnTrackEditor::BuildObjectBindingTrackMenu(FMenuBuilder& MenuBuilder, const FGuid& ObjectBinding, const UClass* ObjectClass) { UMovieSceneSequence* MovieSequence = GetSequencer()->GetFocusedMovieSceneSequence(); if (!MovieSequence || MovieSequence->GetClass()->GetName() != TEXT("LevelSequence") || !MovieSequence->GetMovieScene()->FindSpawnable(ObjectBinding)) { return; } MenuBuilder.AddMenuEntry( LOCTEXT("AddSpawnTrack", "Spawn Track"), LOCTEXT("AddSpawnTrackTooltip", "Adds a new track that controls the lifetime of the track's spawnable object."), FSlateIcon(), FUIAction( FExecuteAction::CreateRaw(this, &FSpawnTrackEditor::HandleAddSpawnTrackMenuEntryExecute, ObjectBinding), FCanExecuteAction::CreateSP(this, &FSpawnTrackEditor::CanAddSpawnTrack, ObjectBinding) ) ); }