37 lines
		
	
	
		
			967 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			967 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Fill out your copyright notice in the Description page of Project Settings.
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include "CoreMinimal.h"
 | |
| #include "CSManagedDelegate.h"
 | |
| #include "CSManagedGCHandle.h"
 | |
| #include "UnrealSharpBinds/Public/CSBindsManager.h"
 | |
| #include "UObject/Object.h"
 | |
| #include "CSAsyncActionBase.generated.h"
 | |
| 
 | |
| UCLASS()
 | |
| class UNREALSHARPASYNC_API UCSAsyncActionBase : public UObject
 | |
| {
 | |
| 	GENERATED_BODY()
 | |
| public:
 | |
| 	UFUNCTION(meta = (ScriptMethod))
 | |
| 	void Destroy();
 | |
| protected:
 | |
| 	friend class UUCSAsyncBaseExporter;
 | |
| 
 | |
| 	void InvokeManagedCallback(bool bDispose = true);
 | |
|     void InvokeManagedCallback(UObject* WorldContextObject, bool bDispose = true);
 | |
| 	void InitializeManagedCallback(FGCHandleIntPtr Callback);
 | |
| 	
 | |
| 	FCSManagedDelegate ManagedCallback;
 | |
| };
 | |
| 
 | |
| UCLASS(meta = (InternalType))
 | |
| class UUCSAsyncBaseExporter : public UObject
 | |
| {
 | |
| 	GENERATED_BODY()
 | |
| public:
 | |
| 	UNREALSHARP_FUNCTION()
 | |
| 	static void InitializeAsyncObject(UCSAsyncActionBase* AsyncAction, FGCHandleIntPtr Callback);
 | |
| };
 |