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/EventsFunctionsExtensionChangelog.h"
16 #include "GDCore/Project/VariablesContainer.h"
17 #include "GDCore/String.h"
18 #include "GDCore/Tools/SerializableWithNameList.h"
21 class SerializerElement;
56 const gd::String& GetVersion()
const {
return version; };
57 EventsFunctionsExtension& SetVersion(
const gd::String& version_) {
62 const gd::String& GetNamespace()
const {
return extensionNamespace; };
63 EventsFunctionsExtension& SetNamespace(
const gd::String& namespace_) {
64 extensionNamespace = namespace_;
68 const gd::String& GetShortDescription()
const {
return shortDescription; };
69 EventsFunctionsExtension& SetShortDescription(
71 shortDescription = shortDescription_;
75 const gd::String& GetDescription()
const {
return description; };
76 EventsFunctionsExtension& SetDescription(
const gd::String& description_) {
77 description = description_;
81 const gd::String& GetDimension()
const {
return dimension; };
82 EventsFunctionsExtension& SetDimension(
const gd::String& dimension_) {
83 dimension = dimension_;
87 const gd::String& GetName()
const {
return name; };
88 EventsFunctionsExtension& SetName(
const gd::String& name_) {
93 const gd::String& GetFullName()
const {
return fullName; };
94 EventsFunctionsExtension& SetFullName(
const gd::String& fullName_) {
99 const gd::String& GetCategory()
const {
return category; };
100 EventsFunctionsExtension& SetCategory(
const gd::String& category_) {
101 category = category_;
105 const std::vector<gd::String>& GetTags()
const {
return tags; };
106 std::vector<gd::String>& GetTags() {
return tags; };
108 const std::vector<gd::String>& GetAuthorIds()
const {
return authorIds; };
109 std::vector<gd::String>& GetAuthorIds() {
return authorIds; };
111 const gd::String& GetAuthor()
const {
return author; };
112 EventsFunctionsExtension& SetAuthor(
const gd::String& author_) {
117 const gd::String& GetPreviewIconUrl()
const {
return previewIconUrl; };
118 EventsFunctionsExtension& SetPreviewIconUrl(
120 previewIconUrl = previewIconUrl_;
124 const gd::String& GetIconUrl()
const {
return iconUrl; };
125 EventsFunctionsExtension& SetIconUrl(
const gd::String& iconUrl_) {
141 helpPath = helpPath_;
154 gdevelopVersion = gdevelopVersion_;
162 return eventsBasedBehaviors;
170 return eventsBasedBehaviors;
177 return eventsBasedObjects;
185 return eventsBasedObjects;
196 originName = originName_;
197 originIdentifier = originIdentifier_;
200 virtual const gd::String& GetOriginName()
const {
return originName; }
201 virtual const gd::String& GetOriginIdentifier()
const {
202 return originIdentifier;
209 return eventsFunctionsContainer;
217 return eventsFunctionsContainer;
229 dependencies.push_back(dependency);
230 return dependencies.back();
237 dependencies.erase(dependencies.begin() + index);
266 return globalVariables;
280 return sceneVariables;
303 SerializeTo(element,
true);
316 void UnserializeExtensionDeclarationFrom(
324 void UnserializeExtensionImplementationFrom(
332 static bool IsExtensionLifecycleEventsFunction(
345 sourceFiles.push_back(sourceFile);
346 return sourceFiles.back();
353 sourceFiles.erase(sourceFiles.begin() + index);
397 std::vector<gd::String> GetUnserializingOrderEventsBasedObjectNames(
408 std::vector<gd::String> tags;
409 std::vector<gd::String> authorIds;
421 std::vector<gd::DependencyMetadata> dependencies;
422 std::vector<gd::SourceFileMetadata> sourceFiles;
Used as a base class for classes that will own events-backed functions.
Definition: EventsFunctionsContainer.h:27
The changelog of an extension (only the breaking changes).
Definition: EventsFunctionsExtensionChangelog.h:66
Hold a list of Events Functions (gd::EventsFunction) and Events Based Behaviors.
Definition: EventsFunctionsExtension.h:41
void SerializeToExternal(gd::SerializerElement &element) const
Serialize the EventsFunctionsExtension to the specified element.
Definition: EventsFunctionsExtension.h:302
gd::DependencyMetadata & AddDependency()
Adds a new dependency.
Definition: EventsFunctionsExtension.h:227
const std::vector< gd::DependencyMetadata > & GetAllDependencies() const
Returns the list of dependencies.
Definition: EventsFunctionsExtension.h:250
const gd::String & GetHelpPath() const
Get the help path of this extension, relative to the GDevelop documentation root.
Definition: EventsFunctionsExtension.h:134
void RemoveSourceFileAt(size_t index)
Removes a source file.
Definition: EventsFunctionsExtension.h:352
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:194
const EventsFunctionsContainer & GetEventsFunctions() const
Return a const reference to the functions of the events based behavior or object.
Definition: EventsFunctionsExtension.h:216
gd::VariablesContainer & GetGlobalVariables()
Definition: EventsFunctionsExtension.h:273
gd::SerializableWithNameList< EventsBasedObject > & GetEventsBasedObjects()
Return a reference to the list of the events based objects.
Definition: EventsFunctionsExtension.h:176
void RemoveDependencyAt(size_t index)
Adds a new dependency.
Definition: EventsFunctionsExtension.h:236
EventsFunctionsExtension & SetGDevelopVersion(const gd::String &gdevelopVersion_)
Set the GDevelop version required by this extension.
Definition: EventsFunctionsExtension.h:153
const gd::VariablesContainer & GetSceneVariables() const
Definition: EventsFunctionsExtension.h:279
std::vector< gd::DependencyMetadata > & GetAllDependencies()
Returns the list of dependencies.
Definition: EventsFunctionsExtension.h:243
gd::SourceFileMetadata & AddSourceFile()
Adds a new source file.
Definition: EventsFunctionsExtension.h:343
const gd::String & GetGDevelopVersion() const
Get the GDevelop version required by this extension.
Definition: EventsFunctionsExtension.h:148
const gd::SerializableWithNameList< EventsBasedBehavior > & GetEventsBasedBehaviors() const
Return a const reference to the list of the events based behaviors.
Definition: EventsFunctionsExtension.h:169
const gd::VariablesContainer & GetGlobalVariables() const
Definition: EventsFunctionsExtension.h:265
const std::vector< gd::SourceFileMetadata > & GetAllSourceFiles() const
Returns the list of source files.
Definition: EventsFunctionsExtension.h:366
gd::SerializableWithNameList< EventsBasedBehavior > & GetEventsBasedBehaviors()
Return a reference to the list of the events based behaviors.
Definition: EventsFunctionsExtension.h:161
gd::VariablesContainer & GetSceneVariables()
Definition: EventsFunctionsExtension.h:287
std::vector< gd::SourceFileMetadata > & GetAllSourceFiles()
Returns the list of source files.
Definition: EventsFunctionsExtension.h:359
EventsFunctionsExtension & SetHelpPath(const gd::String &helpPath_)
Set the help path of this extension, relative to the GDevelop documentation root.
Definition: EventsFunctionsExtension.h:140
EventsFunctionsContainer & GetEventsFunctions()
Return a reference to the functions of the events based behavior or object.
Definition: EventsFunctionsExtension.h:208
EventsFunctionsExtension * Clone() const
Return a pointer to a new EventsFunctionsExtension constructed from this one.
Definition: EventsFunctionsExtension.h:52
const gd::SerializableWithNameList< EventsBasedObject > & GetEventsBasedObjects() const
Return a const reference to the list of the events based objects.
Definition: EventsFunctionsExtension.h:184
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:95
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