3#include "pixelbullet/serialization/node.h"
13enum class AnimationGraphStateKind
19enum class AnimationGraphStatePlaybackMode
25enum class AnimationGraphPatrolMovementMode
29 InvestigateLastSeenPoint,
32enum class AnimationGraphConditionType
34 PatrolMovementModeEquals,
35 PerceptionDetectedEquals,
37 EffectiveSpeedGreaterOrEqual,
38 EffectiveSpeedLessThan,
39 CombatAttackActiveEquals,
40 CombatRecentlyDamagedEquals,
47 std::string clip_name;
54 std::string notify_id;
55 float normalized_time = 0.0f;
63 AnimationGraphStateKind kind = AnimationGraphStateKind::Clip;
64 AnimationGraphStatePlaybackMode playback_mode = AnimationGraphStatePlaybackMode::Loop;
65 std::string clip_name;
66 std::vector<AnimationGraphBlendSample> blend_samples;
67 std::vector<AnimationGraphStateNotify> notify_markers;
68 std::string completion_target_state_id;
75 AnimationGraphConditionType type = AnimationGraphConditionType::PatrolMovementModeEquals;
76 AnimationGraphPatrolMovementMode patrol_movement_mode = AnimationGraphPatrolMovementMode::Route;
77 bool bool_value =
false;
78 float speed_threshold = 0.0f;
85 std::string from_state_id;
86 std::string target_state_id;
87 std::vector<AnimationGraphCondition> conditions;
95 glm::vec2 position = glm::vec2(0.0f);
102 std::vector<AnimationGraphEditorGraphNodeLayout> nodes;
104 [[nodiscard]]
bool Empty()
const noexcept
106 return nodes.empty();
114 std::string initial_state_id;
115 std::vector<AnimationGraphState> states;
116 std::vector<AnimationGraphTransition> transitions;
117 std::optional<AnimationGraphEditorGraphLayout> editor_graph;
Definition animation_graph_types.h:113
Definition animation_graph_types.h:45
Definition animation_graph_types.h:74
Definition animation_graph_types.h:101
Definition animation_graph_types.h:93
Definition animation_graph_types.h:53
Definition animation_graph_types.h:61
Definition animation_graph_types.h:84