6 #ifndef GDCORE_EVENTSBASEDBEHAVIOR_H
7 #define GDCORE_EVENTSBASEDBEHAVIOR_H
10 #include "GDCore/Project/AbstractEventsBasedEntity.h"
11 #include "GDCore/Project/NamedPropertyDescriptor.h"
12 #include "GDCore/Project/PropertiesContainer.h"
13 #include "GDCore/Project/EventsFunctionsContainer.h"
14 #include "GDCore/String.h"
16 class SerializerElement;
72 objectType = objectType_;
87 isPrivate = _isPrivate;
95 return sharedPropertyDescriptors;
103 return sharedPropertyDescriptors;
110 return "SetSharedProperty" + propertyName;
117 return "SharedProperty" + propertyName;
125 return "SharedProperty" + propertyName;
132 return "ToggleSharedProperty" + propertyName;
142 bool isPrivate =
false;
Represents a behavior or an object that is implemented with events.
Definition: AbstractEventsBasedEntity.h:30
virtual AbstractEventsBasedEntity & SetDescription(const gd::String &description_)
Set the description of the behavior or object, to be displayed in the editor.
Definition: AbstractEventsBasedEntity.h:52
AbstractEventsBasedEntity & SetName(const gd::String &name_)
Set the internal name of the behavior or object.
Definition: AbstractEventsBasedEntity.h:65
AbstractEventsBasedEntity & SetFullName(const gd::String &fullName_)
Set the name of the behavior or object, to be displayed in the editor.
Definition: AbstractEventsBasedEntity.h:78
Represents a behavior that is implemented with events.
Definition: EventsBasedBehavior.h:31
EventsBasedBehavior * Clone() const
Return a pointer to a new EventsBasedBehavior constructed from this one.
Definition: EventsBasedBehavior.h:40
static gd::String GetSharedPropertyConditionName(const gd::String &propertyName)
Get the name of the condition to compare a shared property.
Definition: EventsBasedBehavior.h:116
const gd::String & GetObjectType() const
Get the object type the behavior should be used with.
Definition: EventsBasedBehavior.h:66
static gd::String GetSharedPropertyExpressionName(const gd::String &propertyName)
Get the name of the expression to get a shared property.
Definition: EventsBasedBehavior.h:124
static gd::String GetSharedPropertyActionName(const gd::String &propertyName)
Get the name of the action to change a shared property.
Definition: EventsBasedBehavior.h:109
EventsBasedBehavior & SetName(const gd::String &name_)
Set the internal name of the behavior.
Definition: EventsBasedBehavior.h:50
const gd::PropertiesContainer & GetSharedPropertyDescriptors() const
Return a const reference to the list of shared properties.
Definition: EventsBasedBehavior.h:101
EventsBasedBehavior & SetFullName(const gd::String &fullName_)
Set the name of the behavior, to be displayed in the editor.
Definition: EventsBasedBehavior.h:58
EventsBasedBehavior & SetDescription(const gd::String &description_) override
Set the description of the behavior or object, to be displayed in the editor.
Definition: EventsBasedBehavior.h:42
EventsBasedBehavior & SetObjectType(const gd::String &objectType_)
Set the object type the behavior should be used with.
Definition: EventsBasedBehavior.h:71
bool IsPrivate() const
Check if the behavior is private - it can't be used outside of its extension.
Definition: EventsBasedBehavior.h:80
static gd::String GetSharedPropertyToggleActionName(const gd::String &propertyName)
Get the name of the action to toggle a boolean shared property.
Definition: EventsBasedBehavior.h:131
gd::PropertiesContainer & GetSharedPropertyDescriptors()
Return a reference to the list of shared properties.
Definition: EventsBasedBehavior.h:94
EventsBasedBehavior & SetPrivate(bool _isPrivate)
Set that the behavior is private - it can't be used outside of its extension.
Definition: EventsBasedBehavior.h:86
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:50
A container of properties, used for custom behaviors, custom objects, extensions.....
Definition: PropertiesContainer.h:17
A generic container that can represent a value ( containing a string, double, bool or int),...
Definition: SerializerElement.h:37
String represents an UTF8 encoded string.
Definition: String.h:31
Definition: CommonTools.h:24