Files
BusyRabbit/Plugins/UnrealSharp/Source/UnrealSharpAsync/Public/CSAsyncActionBase.h
wyatt 648386cd73 Lua向C#逻辑迁移 一期 #13
将整个插件代码上传
2025-10-26 21:48:39 +08:00

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);
};