#pragma once #include "CoreTypes.h" #include "Templates/SharedPointer.h" #include "Containers/Array.h" #include "UObject/ObjectMacros.h" #include "UObject/Class.h" #include "MovieSceneKeyStruct.h" #include "SequencerChannelTraits.h" #include "Channels/MovieSceneChannelHandle.h" #include "Channels/MovieSceneByteChannel.h" #include "Sequencer/FMODEventControlSection.h" #include "FMODChannelEditors.generated.h" /** Key editor overrides */ bool CanCreateKeyEditor(const FMovieSceneByteChannel *Channel); TSharedRef CreateKeyEditor(const TMovieSceneChannelHandle &Channel, UMovieSceneSection *Section, const FGuid &InObjectBindingID, TWeakPtr PropertyBindings, TWeakPtr InSequencer); /** KeyStruct overrides */ TSharedPtr GetKeyStruct(const TMovieSceneChannelHandle &Channel, FKeyHandle InHandle); /** Key drawing overrides */ void DrawKeys(FFMODEventControlChannel *Channel, TArrayView InKeyHandles, TArrayView OutKeyDrawParams); USTRUCT() struct FFMODEventControlKeyStruct : public FMovieSceneKeyTimeStruct { GENERATED_BODY(); UPROPERTY(EditAnywhere, Category = "Key") EFMODEventControlKey Value; }; template <> struct TStructOpsTypeTraits : public TStructOpsTypeTraitsBase2 { enum { WithCopy = false }; };