78 lines
1.7 KiB
C++
78 lines
1.7 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "Channels/MovieSceneBoolChannel.h"
|
|
#include "CoreMinimal.h"
|
|
#include "CoreTypes.h"
|
|
#include "MovieSceneSection.h"
|
|
#include "UObject/ObjectMacros.h"
|
|
#include "UObject/UObjectGlobals.h"
|
|
|
|
#include "MovieSceneBoolSection.generated.h"
|
|
|
|
#define UE_API MOVIESCENE_API
|
|
|
|
class FArchive;
|
|
class UObject;
|
|
|
|
/**
|
|
* A single bool section.
|
|
*/
|
|
UCLASS(MinimalAPI)
|
|
class UMovieSceneBoolSection
|
|
: public UMovieSceneSection
|
|
{
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
public:
|
|
|
|
/** The default value to use when no keys are present - use GetCurve().SetDefaultValue() */
|
|
UPROPERTY()
|
|
bool DefaultValue_DEPRECATED;
|
|
|
|
public:
|
|
|
|
FMovieSceneBoolChannel& GetChannel() { return BoolCurve; }
|
|
const FMovieSceneBoolChannel& GetChannel() const { return BoolCurve; }
|
|
|
|
public:
|
|
|
|
//~ UObject interface
|
|
UE_API virtual void PostEditImport() override;
|
|
UE_API virtual void PostLoad() override;
|
|
|
|
protected:
|
|
|
|
/**
|
|
* Update the channel proxy to ensure it has the correct flags and pointers
|
|
*/
|
|
UE_API void ReconstructChannelProxy();
|
|
|
|
/** Ordered curve data */
|
|
UPROPERTY()
|
|
FMovieSceneBoolChannel BoolCurve;
|
|
|
|
#if WITH_EDITORONLY_DATA
|
|
|
|
public:
|
|
|
|
/**
|
|
* Set a flag indicating that the actual property that this bool represents is the opposite of the values stored in this section
|
|
*/
|
|
UE_API void SetIsExternallyInverted(bool bInIsExternallyInverted);
|
|
|
|
protected:
|
|
|
|
/** Overloaded serializer to ensure that the channel proxy is updated correctly on load and duplicate */
|
|
UE_API virtual void Serialize(FArchive& Ar) override;
|
|
|
|
/** True if this section represents a property that is the inversion of the values stored on this channel */
|
|
UPROPERTY()
|
|
bool bIsExternallyInverted;
|
|
|
|
#endif
|
|
};
|
|
|
|
#undef UE_API
|