8 #include "InstructionOrExpressionContainerMetadata.h"
12 #include "GDCore/Extensions/Metadata/ExpressionMetadata.h"
13 #include "GDCore/Extensions/Metadata/InstructionMetadata.h"
14 #include "GDCore/String.h"
15 #include "GDCore/Project/QuickCustomization.h"
18 class BehaviorsSharedData;
19 class MultipleInstructionMetadata;
20 class InstructionMetadata;
21 class ExpressionMetadata;
22 class PropertyDescriptor;
43 std::shared_ptr<gd::Behavior> instance,
44 std::shared_ptr<gd::BehaviorsSharedData> sharedDatasInstance);
177 const gd::String& copiedConditionName)
override;
200 BehaviorMetadata& SetFullName(
const gd::String& fullname_)
override;
201 BehaviorMetadata& SetDefaultName(
const gd::String& defaultName_);
202 BehaviorMetadata& SetDescription(
const gd::String& description_)
override;
203 BehaviorMetadata& SetGroup(
const gd::String& group_);
212 BehaviorMetadata& SetIncludeFile(
const gd::String& includeFile)
override;
217 BehaviorMetadata& AddIncludeFile(
const gd::String& includeFile)
override;
224 BehaviorMetadata& AddRequiredFile(
const gd::String& requiredFile);
245 const gd::String& GetFullName()
const override {
return fullname; }
246 const gd::String& GetDefaultName()
const {
return defaultName; }
247 const gd::String& GetDescription()
const override {
return description; }
248 const gd::String& GetGroup()
const {
return group; }
249 const gd::String& GetIconFilename()
const override {
return iconFilename; }
255 objectType = objectType_;
269 const std::vector<gd::String>& GetRequiredBehaviorTypes()
const;
302 return quickCustomizationVisibility;
306 quickCustomizationVisibility = visibility;
310 BehaviorMetadata &SetOpenFullEditorLabel(
const gd::String& label) {
311 openFullEditorLabel = label;
315 const gd::String& GetOpenFullEditorLabel()
const {
316 return openFullEditorLabel;
334 std::map<gd::String, gd::PropertyDescriptor> GetProperties()
const;
352 std::map<gd::String, gd::PropertyDescriptor> GetSharedProperties()
const;
358 std::map<gd::String, gd::InstructionMetadata>&
GetAllActions()
override {
return actionsInfos; };
363 std::map<gd::String, gd::InstructionMetadata>&
GetAllConditions()
override {
return conditionsInfos; };
368 std::map<gd::String, gd::ExpressionMetadata>&
GetAllExpressions()
override {
return expressionsInfos; };
375 std::map<gd::String, gd::InstructionMetadata> conditionsInfos;
376 std::map<gd::String, gd::InstructionMetadata> actionsInfos;
377 std::map<gd::String, gd::ExpressionMetadata> expressionsInfos;
378 std::map<gd::String, gd::ExpressionMetadata> strExpressionsInfos;
380 std::vector<gd::String> includeFiles;
381 std::vector<gd::String> requiredFiles;
393 mutable std::vector<gd::String> requiredBehaviors;
394 bool isPrivate =
false;
395 bool isHidden =
false;
400 std::shared_ptr<gd::Behavior> instance;
401 std::shared_ptr<gd::BehaviorsSharedData> sharedDatasInstance;
403 static const std::map<gd::String, gd::PropertyDescriptor> badProperties;
Base class used to represents a behavior that can be applied to an object. It stores the content (i....
Definition: Behavior.h:23
Base class for defining data shared by behaviors having the same type and name.
Definition: BehaviorsSharedData.h:24
Visibility
Definition: QuickCustomization.h:8
String represents an UTF8 encoded string.
Definition: String.h:33
Definition: CommonTools.h:24