Skip to content

Commit

Permalink
exposed Camera Settings on Play Level Sequence node
Browse files Browse the repository at this point in the history
  • Loading branch information
MothDoctor committed Nov 1, 2021
1 parent 524d0ab commit 167f5f3
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 9 deletions.
8 changes: 6 additions & 2 deletions Source/Flow/Flow.Build.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,20 @@ public class Flow : ModuleRules
{
public Flow(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

PublicDependencyModuleNames.AddRange(new[]
{
"LevelSequence"
});

PrivateDependencyModuleNames.AddRange(new[]
{
"Core",
"CoreUObject",
"DeveloperSettings",
"Engine",
"GameplayTags",
"LevelSequence",
"MovieScene",
"MovieSceneTracks",
"Slate",
Expand Down
7 changes: 4 additions & 3 deletions Source/Flow/Private/LevelSequence/FlowLevelSequencePlayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ UFlowLevelSequencePlayer::UFlowLevelSequencePlayer(const FObjectInitializer& Obj
{
}

UFlowLevelSequencePlayer* UFlowLevelSequencePlayer::CreateFlowLevelSequencePlayer(UObject* WorldContextObject, ULevelSequence* InLevelSequence, FMovieSceneSequencePlaybackSettings Settings, ALevelSequenceActor*& OutActor)
UFlowLevelSequencePlayer* UFlowLevelSequencePlayer::CreateFlowLevelSequencePlayer(UObject* WorldContextObject, ULevelSequence* LevelSequence, FMovieSceneSequencePlaybackSettings Settings, FLevelSequenceCameraSettings CameraSettings, ALevelSequenceActor*& OutActor)
{
if (InLevelSequence == nullptr)
if (LevelSequence == nullptr)
{
return nullptr;
}
Expand All @@ -32,7 +32,8 @@ UFlowLevelSequencePlayer* UFlowLevelSequencePlayer::CreateFlowLevelSequencePlaye
ALevelSequenceActor* Actor = World->SpawnActor<AFlowLevelSequenceActor>(SpawnParams);

Actor->PlaybackSettings = Settings;
Actor->LevelSequence = InLevelSequence;
Actor->LevelSequence = LevelSequence;
Actor->CameraSettings = CameraSettings;

Actor->InitializePlayer();
OutActor = Actor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ void UFlowNode_PlayLevelSequence::CreatePlayer()
if (LoadedSequence)
{
ALevelSequenceActor* SequenceActor;
SequencePlayer = UFlowLevelSequencePlayer::CreateFlowLevelSequencePlayer(this, LoadedSequence, PlaybackSettings, SequenceActor);
SequencePlayer = UFlowLevelSequencePlayer::CreateFlowLevelSequencePlayer(this, LoadedSequence, PlaybackSettings, CameraSettings, SequenceActor);
SequencePlayer->SetFlowEventReceiver(this);

const FFrameRate FrameRate = LoadedSequence->GetMovieScene()->GetTickResolution();
Expand Down
2 changes: 1 addition & 1 deletion Source/Flow/Public/LevelSequence/FlowLevelSequencePlayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class FLOW_API UFlowLevelSequencePlayer : public ULevelSequencePlayer

public:
// variant of ULevelSequencePlayer::CreateLevelSequencePlayer
static UFlowLevelSequencePlayer* CreateFlowLevelSequencePlayer(UObject* WorldContextObject, ULevelSequence* LevelSequence, FMovieSceneSequencePlaybackSettings Settings, ALevelSequenceActor*& OutActor);
static UFlowLevelSequencePlayer* CreateFlowLevelSequencePlayer(UObject* WorldContextObject, ULevelSequence* LevelSequence, FMovieSceneSequencePlaybackSettings Settings, FLevelSequenceCameraSettings CameraSettings, ALevelSequenceActor*& OutActor);

void SetFlowEventReceiver(UFlowNode* FlowNode) { FlowEventReceiver = FlowNode; }

Expand Down
8 changes: 6 additions & 2 deletions Source/Flow/Public/Nodes/World/FlowNode_PlayLevelSequence.h
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
#pragma once

#include "EngineDefines.h"
#include "LevelSequencePlayer.h"
#include "MovieSceneSequencePlayer.h"

#include "Nodes/FlowNode.h"
#include "FlowNode_PlayLevelSequence.generated.h"

class UFlowLevelSequencePlayer;
class ULevelSequence;

DECLARE_MULTICAST_DELEGATE(FFlowNodeLevelSequenceEvent);

Expand All @@ -31,7 +32,10 @@ class FLOW_API UFlowNode_PlayLevelSequence : public UFlowNode

UPROPERTY(EditAnywhere, Category = "Sequence")
FMovieSceneSequencePlaybackSettings PlaybackSettings;


UPROPERTY(EditAnywhere, Category = "Sequence")
FLevelSequenceCameraSettings CameraSettings;

protected:
UPROPERTY()
ULevelSequence* LoadedSequence;
Expand Down

0 comments on commit 167f5f3

Please sign in to comment.