// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "Containers/ContainersFwd.h" #include "ISequencerObjectSchema.h" #include "UObject/WeakObjectPtrTemplatesFwd.h" class FMenuBuilder; class USceneStateComponent; namespace UE::SceneState::Editor { class FSequencerSchema : public UE::Sequencer::IObjectSchema { //~ Begin IObjectSchema virtual UObject* GetParentObject(UObject* InObject) const override; virtual UE::Sequencer::FObjectSchemaRelevancy GetRelevancy(const UObject* InObject) const override; virtual TSharedPtr ExtendObjectBindingMenu(TSharedRef InCommandList, TWeakPtr InSequencerWeak, TConstArrayView InContextSensitiveObjects) const override; //~ End IObjectSchema static void OnAddTrackMenuExtension(FMenuBuilder& InMenuBuilder, TWeakPtr InSequencerWeak, TArray> InComponents); static void AddSceneStateComponents(TWeakPtr InSequencerWeak, TArray> InComponents); }; } // UE::SceneState::Editor