10 #include "GDCore/Extensions/Metadata/DependencyMetadata.h"
11 #include "GDCore/Extensions/Metadata/SourceFileMetadata.h"
12 #include "GDCore/Project/EventsBasedBehavior.h"
13 #include "GDCore/Project/EventsBasedObject.h"
14 #include "GDCore/Project/EventsFunctionsContainer.h"
15 #include "GDCore/Project/VariablesContainer.h"
16 #include "GDCore/String.h"
17 #include "GDCore/Tools/SerializableWithNameList.h"
19 class SerializerElement;
54 const gd::String& GetVersion()
const {
return version; };
55 EventsFunctionsExtension& SetVersion(
const gd::String& version_) {
60 const gd::String& GetNamespace()
const {
return extensionNamespace; };
61 EventsFunctionsExtension& SetNamespace(
const gd::String& namespace_) {
62 extensionNamespace = namespace_;
66 const gd::String& GetShortDescription()
const {
return shortDescription; };
67 EventsFunctionsExtension& SetShortDescription(
69 shortDescription = shortDescription_;
73 const gd::String& GetDescription()
const {
return description; };
74 EventsFunctionsExtension& SetDescription(
const gd::String& description_) {
75 description = description_;
79 const gd::String& GetName()
const {
return name; };
80 EventsFunctionsExtension& SetName(
const gd::String& name_) {
85 const gd::String& GetFullName()
const {
return fullName; };
86 EventsFunctionsExtension& SetFullName(
const gd::String& fullName_) {
91 const gd::String& GetCategory()
const {
return category; };
92 EventsFunctionsExtension& SetCategory(
const gd::String& category_) {
97 const std::vector<gd::String>& GetTags()
const {
return tags; };
98 std::vector<gd::String>& GetTags() {
return tags; };
100 const std::vector<gd::String>& GetAuthorIds()
const {
return authorIds; };
101 std::vector<gd::String>& GetAuthorIds() {
return authorIds; };
103 const gd::String& GetAuthor()
const {
return author; };
104 EventsFunctionsExtension& SetAuthor(
const gd::String& author_) {
109 const gd::String& GetPreviewIconUrl()
const {
return previewIconUrl; };
110 EventsFunctionsExtension& SetPreviewIconUrl(
112 previewIconUrl = previewIconUrl_;
116 const gd::String& GetIconUrl()
const {
return iconUrl; };
117 EventsFunctionsExtension& SetIconUrl(
const gd::String& iconUrl_) {
133 helpPath = helpPath_;
146 gdevelopVersion = gdevelopVersion_;
154 return eventsBasedBehaviors;
162 return eventsBasedBehaviors;
169 return eventsBasedObjects;
177 return eventsBasedObjects;
188 originName = originName_;
189 originIdentifier = originIdentifier_;
192 virtual const gd::String& GetOriginName()
const {
return originName; }
193 virtual const gd::String& GetOriginIdentifier()
const {
194 return originIdentifier;
201 return eventsFunctionsContainer;
209 return eventsFunctionsContainer;
221 dependencies.push_back(dependency);
222 return dependencies.back();
229 dependencies.erase(dependencies.begin() + index);
258 return globalVariables;
272 return sceneVariables;
301 void UnserializeExtensionDeclarationFrom(
309 void UnserializeExtensionImplementationFrom(
317 static bool IsExtensionLifecycleEventsFunction(
330 sourceFiles.push_back(sourceFile);
331 return sourceFiles.back();
338 sourceFiles.erase(sourceFiles.begin() + index);
382 std::vector<gd::String> GetUnserializingOrderEventsBasedObjectNames(
392 std::vector<gd::String> tags;
393 std::vector<gd::String> authorIds;
404 std::vector<gd::DependencyMetadata> dependencies;
405 std::vector<gd::SourceFileMetadata> sourceFiles;
Used as a base class for classes that will own events-backed functions.
Definition: EventsFunctionsContainer.h:27
Hold a list of Events Functions (gd::EventsFunction) and Events Based Behaviors.
Definition: EventsFunctionsExtension.h:39
gd::DependencyMetadata & AddDependency()
Adds a new dependency.
Definition: EventsFunctionsExtension.h:219
const std::vector< gd::DependencyMetadata > & GetAllDependencies() const
Returns the list of dependencies.
Definition: EventsFunctionsExtension.h:242
const gd::String & GetHelpPath() const
Get the help path of this extension, relative to the GDevelop documentation root.
Definition: EventsFunctionsExtension.h:126
void RemoveSourceFileAt(size_t index)
Removes a source file.
Definition: EventsFunctionsExtension.h:337
virtual void SetOrigin(const gd::String &originName_, const gd::String &originIdentifier_)
Sets an extension origin. This method is not present since the beginning so the projects created befo...
Definition: EventsFunctionsExtension.h:186
const EventsFunctionsContainer & GetEventsFunctions() const
Return a const reference to the functions of the events based behavior or object.
Definition: EventsFunctionsExtension.h:208
gd::VariablesContainer & GetGlobalVariables()
Definition: EventsFunctionsExtension.h:265
gd::SerializableWithNameList< EventsBasedObject > & GetEventsBasedObjects()
Return a reference to the list of the events based objects.
Definition: EventsFunctionsExtension.h:168
void RemoveDependencyAt(size_t index)
Adds a new dependency.
Definition: EventsFunctionsExtension.h:228
EventsFunctionsExtension & SetGDevelopVersion(const gd::String &gdevelopVersion_)
Set the GDevelop version required by this extension.
Definition: EventsFunctionsExtension.h:145
const gd::VariablesContainer & GetSceneVariables() const
Definition: EventsFunctionsExtension.h:271
std::vector< gd::DependencyMetadata > & GetAllDependencies()
Returns the list of dependencies.
Definition: EventsFunctionsExtension.h:235
gd::SourceFileMetadata & AddSourceFile()
Adds a new source file.
Definition: EventsFunctionsExtension.h:328
const gd::String & GetGDevelopVersion() const
Get the GDevelop version required by this extension.
Definition: EventsFunctionsExtension.h:140
const gd::SerializableWithNameList< EventsBasedBehavior > & GetEventsBasedBehaviors() const
Return a const reference to the list of the events based behaviors.
Definition: EventsFunctionsExtension.h:161
const gd::VariablesContainer & GetGlobalVariables() const
Definition: EventsFunctionsExtension.h:257
const std::vector< gd::SourceFileMetadata > & GetAllSourceFiles() const
Returns the list of source files.
Definition: EventsFunctionsExtension.h:351
gd::SerializableWithNameList< EventsBasedBehavior > & GetEventsBasedBehaviors()
Return a reference to the list of the events based behaviors.
Definition: EventsFunctionsExtension.h:153
gd::VariablesContainer & GetSceneVariables()
Definition: EventsFunctionsExtension.h:279
std::vector< gd::SourceFileMetadata > & GetAllSourceFiles()
Returns the list of source files.
Definition: EventsFunctionsExtension.h:344
EventsFunctionsExtension & SetHelpPath(const gd::String &helpPath_)
Set the help path of this extension, relative to the GDevelop documentation root.
Definition: EventsFunctionsExtension.h:132
EventsFunctionsContainer & GetEventsFunctions()
Return a reference to the functions of the events based behavior or object.
Definition: EventsFunctionsExtension.h:200
EventsFunctionsExtension * Clone() const
Return a pointer to a new EventsFunctionsExtension constructed from this one.
Definition: EventsFunctionsExtension.h:50
const gd::SerializableWithNameList< EventsBasedObject > & GetEventsBasedObjects() const
Return a const reference to the list of the events based objects.
Definition: EventsFunctionsExtension.h:176
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:50
A class template that store a list of elements that can be accessed by their names and serialized.
Definition: SerializableWithNameList.h:33
A generic container that can represent a value ( containing a string, double, bool or int),...
Definition: SerializerElement.h:37
SerializerElement & SetStringAttribute(const gd::String &name, const gd::String &value)
Set the string value of an attribute of the element.
Definition: SerializerElement.h:234
gd::String GetStringAttribute(const gd::String &name, gd::String defaultValue="", gd::String deprecatedName="") const
Definition: SerializerElement.cpp:83
String represents an UTF8 encoded string.
Definition: String.h:33
Class defining a container for gd::Variable.
Definition: VariablesContainer.h:28
Definition: CommonTools.h:24