Files
UnrealEngine/Engine/Source/Runtime/MovieSceneTracks/Public/Channels/MovieSceneFloatPerlinNoiseChannelContainer.h
2025-05-18 13:04:45 +08:00

45 lines
1.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Channels/MovieSceneChannelOverrideContainer.h"
#include "Channels/MovieSceneFloatPerlinNoiseChannel.h"
#include "EntitySystem/IMovieSceneEntityProvider.h"
#include "MovieSceneFloatPerlinNoiseChannelContainer.generated.h"
/**
* Float perlin noise channel overriden container
*/
UCLASS(meta=(DisplayName="Float Perlin Noise", ToolTip="Override a channel to use float perlin noise"), MinimalAPI)
class UMovieSceneFloatPerlinNoiseChannelContainer : public UMovieSceneChannelOverrideContainer
{
GENERATED_BODY()
public:
using ChannelType = FMovieSceneFloatPerlinNoiseChannel;
MOVIESCENETRACKS_API void InitializeOverride(FMovieSceneChannel* InChannel) override;
MOVIESCENETRACKS_API bool SupportsOverride(FName DefaultChannelTypeName) const override;
MOVIESCENETRACKS_API void ImportEntityImpl(
const UE::MovieScene::FChannelOverrideEntityImportParams& OverrideParams,
const UE::MovieScene::FEntityImportParams& ImportParams, UE::MovieScene::FImportedEntity* OutImportedEntity) override;
const FMovieSceneChannel* GetChannel() const override { return &PerlinNoiseChannel; }
FMovieSceneChannel* GetChannel() override { return &PerlinNoiseChannel; }
#if WITH_EDITOR
MOVIESCENETRACKS_API FMovieSceneChannelHandle AddChannelProxy(FName ChannelName, FMovieSceneChannelProxyData& ProxyData, const FMovieSceneChannelMetaData& MetaData) override;
#else
MOVIESCENETRACKS_API void AddChannelProxy(FName ChannelName, FMovieSceneChannelProxyData& ProxyData) override;
#endif
private:
UPROPERTY(EditAnywhere, Category = "Perlin Noise")
FMovieSceneFloatPerlinNoiseChannel PerlinNoiseChannel;
friend class FMovieSceneFloatPerlinNoiseChannelDetailsCustomization;
};