44 lines
1.3 KiB
C
44 lines
1.3 KiB
C
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "Misc/FrameNumber.h"
|
|
#include "MovieSceneDeterminismFence.generated.h"
|
|
|
|
|
|
/** Structure that defines a specific determinism fence */
|
|
USTRUCT()
|
|
struct FMovieSceneDeterminismFence
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
FMovieSceneDeterminismFence()
|
|
: bInclusive(false)
|
|
{}
|
|
|
|
FMovieSceneDeterminismFence(FFrameNumber InFrameNumber, bool bInInclusive = false)
|
|
: FrameNumber(InFrameNumber)
|
|
, bInclusive(bInInclusive)
|
|
{}
|
|
|
|
friend bool operator==(FMovieSceneDeterminismFence A, FMovieSceneDeterminismFence B)
|
|
{
|
|
return A.FrameNumber == B.FrameNumber && A.bInclusive == B.bInclusive;
|
|
}
|
|
|
|
/** True if this sequence should include a fence on the lower bound of any sub sequence's that include it */
|
|
UPROPERTY()
|
|
FFrameNumber FrameNumber;
|
|
|
|
/**
|
|
* Default: false. When true, specifies that this fence should be evaluated exactly on the specified time.
|
|
* When false, all times up to, but not including FrameNumber will be evaluated.
|
|
*
|
|
* Exclusive should be used for a fence at the end of a subsection with an exclusive time to ensure that the
|
|
* sub-section is entirely evaluated before evaluation returns.
|
|
*
|
|
* Inclusive should be used if an exact time must be evaluated (such as for testing purposes)
|
|
*/
|
|
UPROPERTY()
|
|
uint8 bInclusive : 1;
|
|
}; |