6#include <nlohmann/json.hpp>
15void get_optional_to(
const nlohmann::json&
j,
const char* key, std::optional<T>& opt_val) {
16 if (
j.contains(key) && !
j.at(key).is_null()) {
17 opt_val =
j.at(key).get<T>();
24 if (opt_val.has_value()) {
25 j[key] = opt_val.value();
32 std::optional<int16_t>
Type;
34 std::optional<std::string>
Skin;
70 j.at(
"Name").get_to(
Name);
void set_optional_from(nlohmann::json &j, const char *key, const std::optional< T > &opt_val)
Definition SpawnParams.h:23
void get_optional_to(const nlohmann::json &j, const char *key, std::optional< T > &opt_val)
Definition SpawnParams.h:15
Definition SpawnParams.h:30
std::optional< RGBA8 > Colour3
Definition SpawnParams.h:66
std::optional< IRotator > Rotation
Definition SpawnParams.h:37
std::optional< bool > Bool2
Definition SpawnParams.h:59
std::optional< float > Speed
Definition SpawnParams.h:60
std::optional< FVector > Velocity
Definition SpawnParams.h:39
std::string Name
Definition SpawnParams.h:31
std::optional< IPathSpan > LeftExitSpan
Definition SpawnParams.h:50
std::optional< RGBA8 > Colour
Definition SpawnParams.h:64
std::optional< IPathSpan > RightExitSpan
Definition SpawnParams.h:52
std::optional< uint32_t > PathIndex
Definition SpawnParams.h:56
void from_json(const nlohmann::json &j)
Definition SpawnParams.h:69
std::optional< IPathSpan > PathSpan
Definition SpawnParams.h:42
std::optional< uint16_t > BoundingBoxSize
Definition SpawnParams.h:46
nlohmann::json to_json() const
Definition SpawnParams.h:100
std::optional< FVector > Scale
Definition SpawnParams.h:38
std::optional< FVector2D > PatrolStart
Definition SpawnParams.h:40
std::optional< FVector2D > PatrolEnd
Definition SpawnParams.h:41
std::optional< int16_t > Type
Definition SpawnParams.h:32
std::optional< float > SpeedB
Definition SpawnParams.h:61
std::optional< RGBA8 > Colour4
Definition SpawnParams.h:67
std::optional< bool > Bool
Definition SpawnParams.h:58
std::optional< uint32_t > PathPoint
Definition SpawnParams.h:57
std::optional< FVector > Location
Definition SpawnParams.h:36
std::optional< uint32_t > Count
Definition SpawnParams.h:49
std::optional< FVector > FVec2
Definition SpawnParams.h:62
std::optional< int16_t > Behaviour
Definition SpawnParams.h:33
std::optional< IPathSpan > TriggerSpan
Definition SpawnParams.h:51
std::optional< int16_t > PrimAlpha
Definition SpawnParams.h:45
std::optional< std::string > Skin
Definition SpawnParams.h:34
std::optional< RGBA8 > Colour2
Definition SpawnParams.h:65