#pragma once #include "CoreMinimal.h" #include "LuaCall.generated.h" UENUM(BlueprintType) enum class ELpxSimpleDynamicTag : uint8 { None, String, 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 &cname, const FString &fname); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallAddStringParameter(UObject *context, const FString &pstring); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallAddFloatParameter(UObject *context, double pfloat); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallAddVectorParameter(UObject *context, const FVector &pvector); UFUNCTION(BlueprintCallable, meta = (WorldContext = "context"), Category = "Luprex|Call Lua Function") static void LuaCallAddBooleanParameter(UObject *context, bool pbool); 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 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); };