Space Plunder
Loading...
Searching...
No Matches
FNPC_OptimizatorModule Class Reference

#include <NPC_Optimizator.h>

Inheritance diagram for FNPC_OptimizatorModule:

Public Member Functions

virtual void StartupModule () override
 
virtual void ShutdownModule () override
 
virtual void AddReferencedObjects (FReferenceCollector &Collector) override
 
virtual FString GetReferencerName () const override
 
FOptimizationManagerGetOptimizationManagerForWorld (UWorld *World)
 

Static Public Member Functions

static FORCEINLINE FOptimizationManagerGetOptimizationManager (UWorld *World)
 

Private Member Functions

void HandleWorldInit (UWorld *World, const UWorld::InitializationValues IVS)
 
void HandleWorldCleanup (UWorld *World, bool bSessionEnded, bool bCleanupResources)
 

Private Attributes

FDelegateHandle PreWorldInitializationHandle
 
FDelegateHandle PostWorldCleanupHandle
 
TMap< UWorld *, FOptimizationManager * > WorldOptimizers
 

Member Function Documentation

◆ AddReferencedObjects()

void FNPC_OptimizatorModule::AddReferencedObjects ( FReferenceCollector & Collector)
overridevirtual
36{
37 for (TPair<UWorld*, FOptimizationManager*>& Pair : WorldOptimizers)
38 {
39 Collector.AddReferencedObject(Pair.Key);
40 }
41}
TMap< UWorld *, FOptimizationManager * > WorldOptimizers
Definition NPC_Optimizator.h:40

◆ GetOptimizationManager()

static FORCEINLINE FOptimizationManager * FNPC_OptimizatorModule::GetOptimizationManager ( UWorld * World)
inlinestatic
29 {
30 FNPC_OptimizatorModule& NPC_OptimizatorModule = FModuleManager::LoadModuleChecked<FNPC_OptimizatorModule>("NPC_Optimizator");
31 return NPC_OptimizatorModule.GetOptimizationManagerForWorld(World);
32 }
Definition NPC_Optimizator.h:14
FOptimizationManager * GetOptimizationManagerForWorld(UWorld *World)
Definition NPC_Optimizator.cpp:9

◆ GetOptimizationManagerForWorld()

FOptimizationManager * FNPC_OptimizatorModule::GetOptimizationManagerForWorld ( UWorld * World)
10{
11 check(World);
12
13 FOptimizationManager* Manager = WorldOptimizers.FindRef(World);
14 if (Manager == nullptr && World->IsGameWorld())
15 {
16 Manager = new FOptimizationManager(World);
17 WorldOptimizers.Add(World, Manager);
18 }
19
20 return Manager;
21}
Definition OptimizationManager.h:55

◆ GetReferencerName()

FString FNPC_OptimizatorModule::GetReferencerName ( ) const
overridevirtual
44{
45 return TEXT("FNPC_OptimizatorModule");
46}

◆ HandleWorldCleanup()

void FNPC_OptimizatorModule::HandleWorldCleanup ( UWorld * World,
bool bSessionEnded,
bool bCleanupResources )
private
54{
55 if (const FOptimizationManager* Manager = WorldOptimizers.FindRef(World))
56 {
57 delete Manager;
58 WorldOptimizers.Remove(World);
59 }
60}

◆ HandleWorldInit()

void FNPC_OptimizatorModule::HandleWorldInit ( UWorld * World,
const UWorld::InitializationValues IVS )
private
49{
51}

◆ ShutdownModule()

void FNPC_OptimizatorModule::ShutdownModule ( )
overridevirtual
30{
31 FWorldDelegates::OnPreWorldInitialization.Remove(PreWorldInitializationHandle);
32 FWorldDelegates::OnPostWorldCleanup.Remove(PostWorldCleanupHandle);
33}
FDelegateHandle PreWorldInitializationHandle
Definition NPC_Optimizator.h:37
FDelegateHandle PostWorldCleanupHandle
Definition NPC_Optimizator.h:38

◆ StartupModule()

void FNPC_OptimizatorModule::StartupModule ( )
overridevirtual
24{
25 PreWorldInitializationHandle = FWorldDelegates::OnPreWorldInitialization.AddRaw(this, &FNPC_OptimizatorModule::HandleWorldInit);
26 PostWorldCleanupHandle = FWorldDelegates::OnPostWorldCleanup.AddRaw(this, &FNPC_OptimizatorModule::HandleWorldCleanup);
27}
void HandleWorldCleanup(UWorld *World, bool bSessionEnded, bool bCleanupResources)
Definition NPC_Optimizator.cpp:53
void HandleWorldInit(UWorld *World, const UWorld::InitializationValues IVS)
Definition NPC_Optimizator.cpp:48

Member Data Documentation

◆ PostWorldCleanupHandle

FDelegateHandle FNPC_OptimizatorModule::PostWorldCleanupHandle
private

◆ PreWorldInitializationHandle

FDelegateHandle FNPC_OptimizatorModule::PreWorldInitializationHandle
private

◆ WorldOptimizers

TMap<UWorld*, FOptimizationManager*> FNPC_OptimizatorModule::WorldOptimizers
private

The documentation for this class was generated from the following files: