#pragma once #include "CoreMinimal.h" #include "LuaCall.generated.h" UENUM(BlueprintType) enum class ELpxSimpleDynamicTag : uint8 { None, String, Name, Float, Boolean, Vector }; //////////////////////////////////////////////// // // This UClass is never instantiated. It exists to // expose certain static functions to the blueprint // library. // //////////////////////////////////////////////// UCLASS() class INTEGRATION_API UlxLuaCallLibrary : public UObject { GENERATED_BODY() public: UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallBegin(UObject *context, const FString &ClassName, const FString &FunctionName); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallAddStringParameter(UObject *context, const FString &Value); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallAddNameParameter(UObject *context, const FName &Value); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallAddFloatParameter(UObject *context, double Value); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallAddIntParameter(UObject *context, int Value); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallAddVectorParameter(UObject *context, const FVector &Value); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallAddVector2DParameter(UObject *context, const FVector2D &Value); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallAddBooleanParameter(UObject *context, bool Value); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallInvoke(UObject *context, AActor *Place); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallProbe(UObject *context, AActor *Place); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void InvokeEngioMove(UObject *context, const FString &action, const FVector &xyz, double facing); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static ELpxSimpleDynamicTag LuaCallNextResultType(UObject *context); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static FString LuaCallGetStringResult(UObject *context); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static FName LuaCallGetNameResult(UObject *context); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static double LuaCallGetFloatResult(UObject *context); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static FVector LuaCallGetVectorResult(UObject *context); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static bool LuaCallGetBooleanResult(UObject *context); };