27 lines
		
	
	
		
			562 B
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			562 B
		
	
	
	
		
			C++
		
	
	
	
	
	
|  | #include "CSManagedDelegate.h" | |||
|  | 
 | |||
|  | #include "CSManager.h"
 | |||
|  | 
 | |||
|  | void FCSManagedDelegate::Invoke(UObject* WorldContextObject, bool bDispose) | |||
|  | { | |||
|  | 	TRACE_CPUPROFILER_EVENT_SCOPE(FCSManagedDelegate::Invoke); | |||
|  | 
 | |||
|  | 	if (CallbackHandle.IsNull()) | |||
|  | 	{ | |||
|  | 		UE_LOGFMT(LogUnrealSharp, Warning, "FCSManagedDelegate::Invoke: CallbackHandle is null"); | |||
|  | 		return; | |||
|  | 	} | |||
|  | 
 | |||
|  | 	if (IsValid(WorldContextObject)) | |||
|  | 	{ | |||
|  | 		UCSManager::Get().SetCurrentWorldContext(WorldContextObject); | |||
|  | 	} | |||
|  | 
 | |||
|  | 	FCSManagedCallbacks::ManagedCallbacks.InvokeDelegate(CallbackHandle.GetHandle()); | |||
|  | 
 | |||
|  | 	if (bDispose) | |||
|  | 	{ | |||
|  | 		Dispose(); | |||
|  | 	} | |||
|  | } |