Mirro1871
(Mirro1871)
1
#include "HAL/Runnable.h"
#include "HAL/RunnableThread.h"
class AAsyncBlueprintCharacter : public FRunnable
{
public:
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
void SynchroFunction();//Blueprint functions are used in thread functions
UFUNCTION(BlueprintCallable)
void AsyncFunction();
virtual uint32 Run() override;
virtual void Exit() override;
FRunnableThread* thread;
bool IsProssesing=false;
};
void AAsyncBlueprintCharacter::AsyncFunction()
{
if (!IsProssesing)
{
IsProssesing = true;
thread = FRunnableThread::Create(this, TEXT("AsyncBlueprint"));
}
}
uint32 AAsyncBlueprintCharacter::Run()
{
//Blueprint functions are used in thread functions
SynchroFunction();
return uint32();
void AAsyncBlueprintCharacter::Exit()
{
delete thread;
thread = nullptr;
IsProssesing = false;
}