3#include "pixelbullet/filesystem/virtual_path.h"
4#include "pixelbullet/scene/entity_id.h"
14namespace platform::scene_play
16enum class RuntimeUiAction :
int
33enum class BehaviorTargetAddressing
41 BehaviorTargetAddressing addressing = BehaviorTargetAddressing::Self;
42 std::string binding_slot;
44 [[nodiscard]]
bool operator==(
const BehaviorTarget&)
const noexcept =
default;
47enum class BehaviorTriggerType
55 InteractionFocusEnter,
57 InteractionInputSignal,
58 LevelCheckpointActivated,
61 InteractionSequenceCompleted,
62 PatrolWaypointReached,
64 PerceptionTargetDetected,
66 PatrolInvestigationReached,
67 TargetEnteredAttackRange,
68 TargetExitedAttackRange,
69 TargetEnteredRangedAttackRange,
70 TargetExitedRangedAttackRange,
72 RangedHitscanAttackRecovered,
78enum class BehaviorVariableType
84enum class BehaviorVariableScope
93 BehaviorVariableType type = BehaviorVariableType::Bool;
94 BehaviorVariableScope scope = BehaviorVariableScope::Local;
95 bool bool_initial_value =
false;
96 int int_initial_value = 0;
104 std::string default_value = {};
117enum class BehaviorGuardComparison
125enum class BehaviorGuardSource
134 BehaviorGuardSource source = BehaviorGuardSource::Variable;
135 std::string variable_name;
137 std::string key_id_parameter;
138 BehaviorVariableScope scope = BehaviorVariableScope::Local;
139 BehaviorGuardComparison comparison = BehaviorGuardComparison::BoolEquals;
140 bool bool_value =
false;
148 BehaviorTriggerType type = BehaviorTriggerType::OnEnter;
149 float after_seconds = 0.0f;
150 InputSignal input_signal = InputSignal::Interact;
152 std::string interaction_outcome_id;
153 int patrol_waypoint_index = -1;
155 [[nodiscard]]
bool operator==(
const BehaviorTrigger&)
const noexcept =
default;
158enum class BehaviorActionType
162 SetPointLightEnabled,
164 SetDirectionalLightEnabled,
165 SetAudioSourceEnabled,
169 ControlTransformAnimation,
174 SetInteractableEnabled,
178 ClearRuntimeObjective,
179 SetRuntimeStatusText,
180 ClearRuntimeStatusText,
182 ClearRuntimeHintText,
183 SetInteractionPromptText,
184 ClearInteractionPromptText,
185 SetPausedMenuContent,
186 ClearPausedMenuContent,
187 SetCompletedMenuContent,
188 ClearCompletedMenuContent,
189 ShowRuntimeNotification,
191 SetTrackedObjectiveStage,
194 ClearTrackedObjective,
199 StartInteractionSequence,
206 InvestigateLastSeenTarget,
209 StartPrimaryHitscanAttack,
210 StartRangedHitscanAttack,
213enum class TransformAnimationPlaybackCommand
223 BehaviorActionType type = BehaviorActionType::SetMeshVisible;
225 std::string variable_name;
226 std::string text_value;
227 BehaviorVariableScope scope = BehaviorVariableScope::Local;
228 bool bool_value =
true;
230 float duration_seconds = 2.5f;
231 TransformAnimationPlaybackCommand animation_command = TransformAnimationPlaybackCommand::Play;
232 std::string detail_text_value;
233 std::string hint_text_value;
234 std::string objective_id;
236 std::string objective_stage_id;
238 std::string mission_event_id;
241 float patrol_move_speed = 0.0f;
242 std::vector<platform::scene_play::RuntimeUiAction> runtime_ui_actions;
244 [[nodiscard]]
bool operator==(
const BehaviorAction&)
const noexcept =
default;
250 std::vector<BehaviorGuardCondition> guards;
251 std::string target_state;
259 std::vector<BehaviorAction> entry_actions;
260 std::vector<BehaviorTransition> transitions;
262 [[nodiscard]]
bool operator==(
const BehaviorState&)
const noexcept =
default;
267 std::string slot_name;
268 EntityId entity = EntityId::Invalid();
270 [[nodiscard]]
bool operator==(
const BehaviorBinding&)
const noexcept =
default;
275 std::string state_name;
276 glm::vec2 position = glm::vec2(0.0f);
283 std::vector<BehaviorEditorGraphNodeLayout> nodes;
285 [[nodiscard]]
bool Empty()
const noexcept
287 return nodes.empty();
295 std::string initial_state;
296 std::vector<BehaviorVariableDeclaration> variables;
297 std::vector<BehaviorStringParameterDeclaration> string_parameters;
298 std::vector<std::string> binding_slots;
299 std::vector<BehaviorState> states;
300 std::optional<BehaviorEditorGraphLayout> editor_graph;
Definition entity_id.h:11
Definition virtual_path.h:10
Definition behavior_state_machine_types.h:222
Definition behavior_state_machine_types.h:266
Definition behavior_state_machine_types.h:282
Definition behavior_state_machine_types.h:274
Definition behavior_state_machine_types.h:133
Definition behavior_state_machine_types.h:294
Definition behavior_state_machine_types.h:257
Definition behavior_state_machine_types.h:102
Definition behavior_state_machine_types.h:110
Definition behavior_state_machine_types.h:40
Definition behavior_state_machine_types.h:248
Definition behavior_state_machine_types.h:147
Definition behavior_state_machine_types.h:91