63 lines
2.0 KiB
C
63 lines
2.0 KiB
C
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "Containers/UnrealString.h"
|
|
#include "Misc/FrameNumber.h"
|
|
#include "Math/Color.h"
|
|
|
|
#include "MovieSceneMarkedFrame.generated.h"
|
|
|
|
USTRUCT(BlueprintType)
|
|
struct FMovieSceneMarkedFrame
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
FMovieSceneMarkedFrame()
|
|
: Label(FString())
|
|
#if WITH_EDITORONLY_DATA
|
|
, Comment(FString())
|
|
, CustomColor(0.f, 1.f, 1.f, 0.4f)
|
|
#endif
|
|
, bIsDeterminismFence(false)
|
|
, bIsInclusiveTime(false)
|
|
{}
|
|
|
|
FMovieSceneMarkedFrame(FFrameNumber InFrameNumber)
|
|
: FrameNumber(InFrameNumber)
|
|
, Label(FString())
|
|
#if WITH_EDITORONLY_DATA
|
|
, Comment(FString())
|
|
, CustomColor(0.f, 1.f, 1.f, 0.4f)
|
|
#endif
|
|
, bIsDeterminismFence(false)
|
|
, bIsInclusiveTime(false)
|
|
{}
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Marked Frame")
|
|
FFrameNumber FrameNumber;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Marked Frame")
|
|
FString Label;
|
|
|
|
#if WITH_EDITORONLY_DATA
|
|
UPROPERTY(EditAnywhere, Category = "Marked Frame")
|
|
FString Comment;
|
|
|
|
UPROPERTY(EditAnywhere, Category = "Marked Frame", DisplayName = "Color", meta=(EditCondition = bUseCustomColor))
|
|
FLinearColor CustomColor;
|
|
|
|
UPROPERTY(EditAnywhere, Category = "Marked Frame")
|
|
bool bUseCustomColor = false;
|
|
|
|
UPROPERTY()
|
|
FLinearColor Color_DEPRECATED = FLinearColor(0.f, 1.f, 1.f, 0.4f);
|
|
#endif
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Marked Frame", DisplayName="Is Determinism Fence?", meta=(Tooltip="When checked, treat this mark as a fence for evaluation purposes. Fences cannot be crossed in a single evaluation, and force the evaluation to be split into 2 separate parts."))
|
|
bool bIsDeterminismFence;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Marked Frame", DisplayName="Inclusive?", meta=(EditCondition="bIsDeterminismFence", Tooltip="Defines how this determinism fence determines the previous and next range: when true, the range will be dissected as (X, Y] -> (Y, Z], when false it will be (X, Y) -> [Y, Z]."))
|
|
bool bIsInclusiveTime;
|
|
};
|