3#include "pixelbullet/serialization/node.h"
10enum class PatrolTraversalMode
17[[nodiscard]]
constexpr std::string_view ToString(
const PatrolTraversalMode value)
noexcept
21 case PatrolTraversalMode::PingPong:
23 case PatrolTraversalMode::Once:
25 case PatrolTraversalMode::Loop:
31inline Node& operator<<(
Node& node,
const PatrolTraversalMode& value)
33 node << std::string(ToString(value));
37inline const Node& operator>>(
const Node& node, PatrolTraversalMode& value)
39 std::string serialized;
41 if (serialized ==
"PingPong")
43 value = PatrolTraversalMode::PingPong;
45 else if (serialized ==
"Once")
47 value = PatrolTraversalMode::Once;
51 value = PatrolTraversalMode::Loop;
59 PatrolTraversalMode traversal_mode = PatrolTraversalMode::Loop;
66 node[
"enabled"] << component.enabled;
67 node[
"traversalMode"] << component.traversal_mode;
71inline const Node& operator>>(
const Node& node, PatrolRouteComponent& component)
73 if (node.HasProperty(
"enabled"))
75 node[
"enabled"] >> component.enabled;
79 component.enabled =
true;
82 if (node.HasProperty(
"traversalMode"))
84 node[
"traversalMode"] >> component.traversal_mode;
88 component.traversal_mode = PatrolTraversalMode::Loop;
Represents a hierarchical node capable of storing various data types and supporting YAML serializatio...
Definition node.h:45
Definition patrol_route_component.h:57