#pragma once #include #include "Common.generated.h" ///////////////////////////////////////////////////////////////// // // A bunch of simple data types that are used throughout the // unreal interface to Luprex. // ///////////////////////////////////////////////////////////////// namespace LpxCommonTypes { // Array of tangible IDs. using IdArray = TArray; // View of Array of tangible IDs. using IdView = TArrayView; // Array of std::string_view using StringViewVec = TArray; } ///////////////////////////////////////////////////////////////// // // Luprex exports a header-only library called "base-buffer.hpp", // which includes a "struct LuaValueHolder" which contains a tag // field of type "enum LuaValueType." The following enum is a // direct copy of that enum, and the values must match one-for-one. // Note that "token" has been renamed to "name", those are // synonymous. // ///////////////////////////////////////////////////////////////// UENUM(BlueprintType) enum class ElxLuaValueType : uint8 { End, String, Name, Float, Boolean, Vector }; ///////////////////////////////////////////////////////////////// // // A variety of boolean-like results that can be conveniently // be used in conjunction with 'ExpandEnumAsExecs' to create // branching functions. // ///////////////////////////////////////////////////////////////// UENUM(BlueprintType) enum class ElxSuccessOrError : uint8 { Success, Error, }; UENUM(BlueprintType) enum class ElxValidOrNotValid : uint8 { Valid, NotValid, }; UENUM(BlueprintType) enum class ElxFoundOrNotFound : uint8 { Found, NotFound, }; UENUM(BlueprintType) enum class ElxUsedOrNotUsed : uint8 { Used, NotUsed, }; UENUM(BlueprintType) enum class ElxSuccessOrWrongType : uint8 { Success, WrongType, }; ///////////////////////////////////////////////////////////////// // // Two log categories that are used throughout the Unreal // Luprex integration. // ///////////////////////////////////////////////////////////////// // Messages that come from inside the Luprex Core. DECLARE_LOG_CATEGORY_EXTERN(LogLuprex, Display, All); // Messages that pertain to our Luprex integration with Unreal. DECLARE_LOG_CATEGORY_EXTERN(LogLuprexIntegration, Display, All);