Skip to content
Snippets Groups Projects
Select Git revision
  • 62366312fc2ea3746bc8d17b4b8f922d4fc48dda
  • 5.4 default protected
  • 5.5
  • dev/5.5
  • dev/5.4
  • dev/5.3_downgrade
  • feature/experimenttime_hack
  • 5.3 protected
  • _IntenSelect5.3
  • IntenSelect5.3
  • 4.27 protected
  • 4.26 protected
  • 5.0 protected
  • 4.22 protected
  • 4.21 protected
  • UE5.4-2024.1
  • UE5.4-2024.1-rc1
  • UE5.3-2023.1-rc3
  • UE5.3-2023.1-rc2
  • UE5.3-2023.1-rc
20 results

CAVEOverlay.cpp

Blame
  • CAVEOverlay.cpp 1.14 KiB
    // Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
    
    #include "CAVEOverlay/CAVEOverlay.h"
    
    void FCAVEOverlay::Register()
    {
    	On_Post_World_Initialization_Delegate.BindRaw(this, &FCAVEOverlay::OnSessionStart);
    	SessionStartDelegate = FWorldDelegates::OnPostWorldInitialization.Add(On_Post_World_Initialization_Delegate);
    }
    
    
    void FCAVEOverlay::Unregister() const
    {
    	FWorldDelegates::OnPostWorldInitialization.Remove(SessionStartDelegate);
    }
    
    void FCAVEOverlay::OnSessionStart(UWorld* World, const UWorld::InitializationValues)
    {
    	if (!World->IsGameWorld())
    		return;
    
    	const UCAVEOverlaySettings* Settings = GetDefault<UCAVEOverlaySettings>();
    
    	/* Test if we already spawned a CAVEOverlayController */
    	TArray<AActor*> Actors;
    	UGameplayStatics::GetAllActorsOfClass(World, ACAVEOverlayController::StaticClass(), Actors);
    
    	if ((Settings->DefaultActivationType == DefaultActivationType_ON
    		!= Settings->excludedMaps.ContainsByPredicate(
    			[World](const FSoftObjectPath& Map) { return Map.GetAssetName() == World->GetName(); }
    		)) && Actors.Num() == 0)
    	{
    		World->SpawnActor(ACAVEOverlayController::StaticClass());
    	}
    }