PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
behavior_metadata.h
1#pragma once
2
3#include "pixelbullet/scene/behavior_state_machine_types.h"
4
5#include <string_view>
6#include <vector>
7
8namespace pixelbullet
9{
10enum class BehaviorActionParameterShape
11{
12 None,
13 TargetBoolValue,
14 TargetOnly,
15 TransformAnimationCommand,
16 ScopedBoolVariableSet,
17 ScopedBoolVariableToggle,
18 ScopedIntVariableValue,
19 Text,
20 MenuContent,
21 RuntimeNotification,
22 TrackedObjective,
23 TrackedObjectiveStage,
24 ObjectiveId,
26 MissionEventId,
27 RunFlag,
28 InteractionAsset,
29 PatrolRoute,
30 PatrolMoveSpeed,
31};
32
33enum class BehaviorTriggerParameterShape
34{
35 None,
36 AfterSeconds,
37 InputSignal,
38 Target,
39 TargetWithWaypointIndex,
40 InteractionOutcomeId,
41};
42
43enum class BehaviorGuardSourceShape
44{
45 Variable,
46 InventoryKey,
47 RunFlag,
48};
49
50enum class BehaviorGuardComparisonValueKind
51{
52 Bool,
53 Int,
54};
55
57{
58 BehaviorTargetAddressing value = BehaviorTargetAddressing::Self;
59 std::string_view token = "Self";
60 std::string_view label = "Self";
61};
62
64{
65 BehaviorActionType value = BehaviorActionType::SetMeshVisible;
66 std::string_view token = "SetMeshVisible";
67 std::string_view label = "SetMeshVisible";
68 BehaviorActionParameterShape parameter_shape = BehaviorActionParameterShape::TargetBoolValue;
69 bool uses_target = true;
70};
71
73{
74 BehaviorTriggerType value = BehaviorTriggerType::OnEnter;
75 std::string_view token = "OnEnter";
76 std::string_view label = "OnEnter";
77 BehaviorTriggerParameterShape parameter_shape = BehaviorTriggerParameterShape::None;
78 bool uses_target = false;
79};
80
82{
83 BehaviorGuardSource value = BehaviorGuardSource::Variable;
84 std::string_view token = "Variable";
85 std::string_view label = "Variable";
86 BehaviorGuardSourceShape shape = BehaviorGuardSourceShape::Variable;
87 bool uses_scope = true;
88};
89
91{
92 BehaviorGuardComparison value = BehaviorGuardComparison::BoolEquals;
93 std::string_view token = "BoolEquals";
94 std::string_view label = "BoolEquals";
95 BehaviorGuardComparisonValueKind value_kind = BehaviorGuardComparisonValueKind::Bool;
96};
97
99{
100 BehaviorVariableType value = BehaviorVariableType::Bool;
101 std::string_view token = "Bool";
102 std::string_view label = "Bool";
103};
104
106{
107 BehaviorVariableScope value = BehaviorVariableScope::Local;
108 std::string_view token = "Local";
109 std::string_view label = "Local";
110};
111
113{
114 TransformAnimationPlaybackCommand value = TransformAnimationPlaybackCommand::Play;
115 std::string_view token = "Play";
116 std::string_view label = "Play";
117};
118
120{
121 InputSignal value = InputSignal::Interact;
122 std::string_view token = "Interact";
123 std::string_view label = "Interact";
124};
125
127{
128 platform::scene_play::RuntimeUiAction value = platform::scene_play::RuntimeUiAction::TogglePause;
129 std::string_view token = "TogglePause";
130 std::string_view label = "TogglePause";
131};
132
133const std::vector<BehaviorTargetAddressingDescriptor>& GetBehaviorTargetAddressingDescriptors() noexcept;
134const std::vector<BehaviorActionTypeDescriptor>& GetBehaviorActionTypeDescriptors() noexcept;
135const std::vector<BehaviorTriggerTypeDescriptor>& GetBehaviorTriggerTypeDescriptors() noexcept;
136const std::vector<BehaviorGuardSourceDescriptor>& GetBehaviorGuardSourceDescriptors() noexcept;
137const std::vector<BehaviorGuardComparisonDescriptor>& GetBehaviorGuardComparisonDescriptors() noexcept;
138const std::vector<BehaviorVariableTypeDescriptor>& GetBehaviorVariableTypeDescriptors() noexcept;
139const std::vector<BehaviorVariableScopeDescriptor>& GetBehaviorVariableScopeDescriptors() noexcept;
140const std::vector<TransformAnimationPlaybackCommandDescriptor>& GetTransformAnimationPlaybackCommandDescriptors() noexcept;
141const std::vector<InputSignalDescriptor>& GetInputSignalDescriptors() noexcept;
142const std::vector<RuntimeUiActionDescriptor>& GetRuntimeUiActionDescriptors() noexcept;
143
144const BehaviorTargetAddressingDescriptor& GetBehaviorTargetAddressingDescriptor(BehaviorTargetAddressing value) noexcept;
145const BehaviorActionTypeDescriptor& GetBehaviorActionTypeDescriptor(BehaviorActionType value) noexcept;
146const BehaviorTriggerTypeDescriptor& GetBehaviorTriggerTypeDescriptor(BehaviorTriggerType value) noexcept;
147const BehaviorGuardSourceDescriptor& GetBehaviorGuardSourceDescriptor(BehaviorGuardSource value) noexcept;
148const BehaviorGuardComparisonDescriptor& GetBehaviorGuardComparisonDescriptor(BehaviorGuardComparison value) noexcept;
149const BehaviorVariableTypeDescriptor& GetBehaviorVariableTypeDescriptor(BehaviorVariableType value) noexcept;
150const BehaviorVariableScopeDescriptor& GetBehaviorVariableScopeDescriptor(BehaviorVariableScope value) noexcept;
151const TransformAnimationPlaybackCommandDescriptor& GetTransformAnimationPlaybackCommandDescriptor(
152 TransformAnimationPlaybackCommand value) noexcept;
153const InputSignalDescriptor& GetInputSignalDescriptor(InputSignal value) noexcept;
154const RuntimeUiActionDescriptor& GetRuntimeUiActionDescriptor(platform::scene_play::RuntimeUiAction value) noexcept;
155
156bool TryParseBehaviorTargetAddressingToken(std::string_view token, BehaviorTargetAddressing& value) noexcept;
157bool TryParseBehaviorActionTypeToken(std::string_view token, BehaviorActionType& value) noexcept;
158bool TryParseBehaviorTriggerTypeToken(std::string_view token, BehaviorTriggerType& value) noexcept;
159bool TryParseBehaviorGuardSourceToken(std::string_view token, BehaviorGuardSource& value) noexcept;
160bool TryParseBehaviorGuardComparisonToken(std::string_view token, BehaviorGuardComparison& value) noexcept;
161bool TryParseBehaviorVariableTypeToken(std::string_view token, BehaviorVariableType& value) noexcept;
162bool TryParseBehaviorVariableScopeToken(std::string_view token, BehaviorVariableScope& value) noexcept;
163bool TryParseTransformAnimationPlaybackCommandToken(std::string_view token,
164 TransformAnimationPlaybackCommand& value) noexcept;
165bool TryParseInputSignalToken(std::string_view token, InputSignal& value) noexcept;
166bool TryParseRuntimeUiActionToken(std::string_view token, platform::scene_play::RuntimeUiAction& value) noexcept;
167
168bool IsBoolBehaviorGuardComparison(BehaviorGuardComparison value) noexcept;
169bool IsIntBehaviorGuardComparison(BehaviorGuardComparison value) noexcept;
170} // namespace pixelbullet
Definition behavior_metadata.h:64
Definition behavior_metadata.h:91
Definition behavior_metadata.h:82
Definition behavior_metadata.h:57
Definition behavior_metadata.h:73
Definition behavior_metadata.h:106
Definition behavior_metadata.h:99
Definition behavior_metadata.h:120
Definition mission_types.h:66
Definition behavior_metadata.h:127