97 lines
2.3 KiB
C
97 lines
2.3 KiB
C
|
|
#pragma once
|
||
|
|
|
||
|
|
#include <string_view>
|
||
|
|
|
||
|
|
#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<int64>;
|
||
|
|
|
||
|
|
// View of Array of tangible IDs.
|
||
|
|
using IdView = TArrayView<const int64>;
|
||
|
|
|
||
|
|
// Array of std::string_view
|
||
|
|
using StringViewVec = TArray<std::string_view>;
|
||
|
|
}
|
||
|
|
|
||
|
|
/////////////////////////////////////////////////////////////////
|
||
|
|
//
|
||
|
|
// 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);
|