// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreTypes.h" #include "ISequencerObjectSchema.h" class ISequencer; class FMenuBuilder; class USkeletalMeshComponent; enum class EAnimInstanceLocatorFragmentType; namespace UE::Sequencer { class FSkeletalMeshComponentSchema : public IObjectSchema { public: UObject* GetParentObject(UObject* Object) const override; FObjectSchemaRelevancy GetRelevancy(const UObject* InObject) const override; TSharedPtr ExtendObjectBindingMenu(TSharedRef CommandList, TWeakPtr WeakSequencer, TArrayView ContextSensitiveObjects) const override; private: void HandleTrackMenuExtensionAddTrack(FMenuBuilder& AddTrackMenuBuilder, TWeakPtr WeakSequencer, TArray Components) const; void BindAnimationInstance(TWeakPtr WeakSequencer, TArray Components, EAnimInstanceLocatorFragmentType Type) const; }; } // namespace UE::Sequencer