Skip to content
Snippets Groups Projects
Commit 3ee5edb5 authored by Sebastian Pape's avatar Sebastian Pape
Browse files

Moved Clusterevents to BeginPlay and EndPlay

parent 13c2634a
No related branches found
No related tags found
2 merge requests!10Develop,!9Feature/cluster events f10
......@@ -111,22 +111,6 @@ ACAVEOverlayController::ACAVEOverlayController()
Sign_Positive_Y->SetRelativeScale3D(FVector(0.5f));
Sign_Negative_X->SetRelativeScale3D(FVector(0.5f));
Sign_Positive_X->SetRelativeScale3D(FVector(0.5f));
IDisplayClusterClusterManager* ClusterManager = IDisplayCluster::Get().GetClusterMgr();
if (ClusterManager && !ClusterEventListenerDelegate.IsBound())
{
ClusterEventListenerDelegate = FOnClusterEventListener::CreateUObject(this, &ACAVEOverlayController::HandleClusterEvent);
ClusterManager->AddClusterEventListener(ClusterEventListenerDelegate);
}
}
ACAVEOverlayController::~ACAVEOverlayController()
{
IDisplayClusterClusterManager* ClusterManager = IDisplayCluster::Get().GetClusterMgr();
if (ClusterManager && ClusterEventListenerDelegate.IsBound())
{
ClusterManager->RemoveClusterEventListener(ClusterEventListenerDelegate);
}
}
void ACAVEOverlayController::PostInitializeComponents()
......@@ -226,6 +210,12 @@ void ACAVEOverlayController::BeginPlay()
//Input config
InputComponent->BindKey(EKeys::F10, EInputEvent::IE_Pressed, this, &ACAVEOverlayController::CycleDoorType);
IDisplayClusterClusterManager* ClusterManager = IDisplayCluster::Get().GetClusterMgr();
if (ClusterManager && !ClusterEventListenerDelegate.IsBound())
{
ClusterEventListenerDelegate = FOnClusterEventListener::CreateUObject(this, &ACAVEOverlayController::HandleClusterEvent);
ClusterManager->AddClusterEventListener(ClusterEventListenerDelegate);
}
//Determine the screen-type for later usage
if (IDisplayCluster::Get().GetClusterMgr()->GetNodeId().Equals(Screen_Main, ESearchCase::IgnoreCase))
......@@ -260,6 +250,17 @@ void ACAVEOverlayController::BeginPlay()
}
}
void ACAVEOverlayController::EndPlay(const EEndPlayReason::Type EndPlayReason)
{
IDisplayClusterClusterManager* ClusterManager = IDisplayCluster::Get().GetClusterMgr();
if (ClusterManager && ClusterEventListenerDelegate.IsBound())
{
ClusterManager->RemoveClusterEventListener(ClusterEventListenerDelegate);
}
Super::EndPlay(EndPlayReason);
}
float ACAVEOverlayController::CalculateOpacityFromPosition(FVector Position)
{
return FMath::Max(
......
......
......@@ -22,12 +22,13 @@ UCLASS()
class CAVEOVERLAY_API ACAVEOverlayController : public AActor
{
GENERATED_BODY()
public:
ACAVEOverlayController();
~ACAVEOverlayController();
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
virtual void PostInitializeComponents() override;
private:
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment