diff --git a/Source/CAVEOverlay/Private/CAVEOverlayController.cpp b/Source/CAVEOverlay/Private/CAVEOverlayController.cpp index d15ec0f6d11f08e68a9b95abcbea94be4f47b7f6..721e9e4fe5a1adc637e40a4cce780af8edc371e7 100644 --- a/Source/CAVEOverlay/Private/CAVEOverlayController.cpp +++ b/Source/CAVEOverlay/Private/CAVEOverlayController.cpp @@ -10,6 +10,7 @@ #include "Components/InputComponent.h" #include "Cluster/IDisplayClusterClusterManager.h" #include "IDisplayClusterGameManager.h" +#include "IDisplayClusterConfigManager.h" #include "UObject/ConstructorHelpers.h" #include <array> #include "Components/StaticMeshComponent.h" @@ -181,10 +182,12 @@ void ACAVEOverlayController::BeginPlay() Super::BeginPlay(); //Read situation - bHMD_Mode = GEngine->XRSystem.IsValid() && GEngine->XRSystem->IsHeadTrackingAllowed(); - bDisplay_Cluster_Mode = IDisplayCluster::Get().GetOperationMode() == EDisplayClusterOperationMode::Cluster; - - if (!bDisplay_Cluster_Mode) return; // Not our business + if (IDisplayCluster::Get().GetOperationMode() == EDisplayClusterOperationMode::Cluster) { + auto ClusterConfigCustom = IDisplayCluster::Get().GetConfigMgr()->GetConfigCustom(); + bCAVE_Mode = ClusterConfigCustom.Args.Contains("Hardware_Platform") && ClusterConfigCustom.Args.Find("Hardware_Platform")->ToLower().Compare("aixcave"); + } + + if (!bCAVE_Mode) return; // Not our business //Input config InputComponent->BindAction("Action4", EInputEvent::IE_Pressed, this, &ACAVEOverlayController::CycleDoorType); @@ -253,7 +256,7 @@ void ACAVEOverlayController::Tick(float DeltaTime) { Super::Tick(DeltaTime); - if (!bDisplay_Cluster_Mode) return; // Not our business + if (!bCAVE_Mode) return; // Not our business RefreshPawnComponents(); if (!bAttached && Cave_Origin) diff --git a/Source/CAVEOverlay/Public/CAVEOverlayController.h b/Source/CAVEOverlay/Public/CAVEOverlayController.h index af238828aea072adf42eb07f02e502c6230507b1..9ea5ba1b1645b75c1924d40b3e2a884ada0e458c 100644 --- a/Source/CAVEOverlay/Public/CAVEOverlayController.h +++ b/Source/CAVEOverlay/Public/CAVEOverlayController.h @@ -29,8 +29,7 @@ protected: private: //Execution Modes - bool bHMD_Mode = false; - bool bDisplay_Cluster_Mode = false; + bool bCAVE_Mode = false; //Screen Types enum EScreen_Type { SCREEN_MASTER, SCREEN_NORMAL, SCREEN_DOOR_PARTIAL, SCREEN_DOOR };