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& GetName()
const {
return name; };
82 EventsFunctionsExtension& SetName(
const gd::String& name_) {
87 const gd::String& GetFullName()
const {
return fullName; };
88 EventsFunctionsExtension& SetFullName(
const gd::String& fullName_) {
93 const gd::String& GetCategory()
const {
return category; };
94 EventsFunctionsExtension& SetCategory(
const gd::String& category_) {
99 const std::vector<gd::String>& GetTags()
const {
return tags; };
100 std::vector<gd::String>& GetTags() {
return tags; };
102 const std::vector<gd::String>& GetAuthorIds()
const {
return authorIds; };
103 std::vector<gd::String>& GetAuthorIds() {
return authorIds; };
105 const gd::String& GetAuthor()
const {
return author; };
106 EventsFunctionsExtension& SetAuthor(
const gd::String& author_) {
111 const gd::String& GetPreviewIconUrl()
const {
return previewIconUrl; };
112 EventsFunctionsExtension& SetPreviewIconUrl(
114 previewIconUrl = previewIconUrl_;
118 const gd::String& GetIconUrl()
const {
return iconUrl; };
119 EventsFunctionsExtension& SetIconUrl(
const gd::String& iconUrl_) {
135 helpPath = helpPath_;
148 gdevelopVersion = gdevelopVersion_;
156 return eventsBasedBehaviors;
164 return eventsBasedBehaviors;
171 return eventsBasedObjects;
179 return eventsBasedObjects;
190 originName = originName_;
191 originIdentifier = originIdentifier_;
194 virtual const gd::String& GetOriginName()
const {
return originName; }
195 virtual const gd::String& GetOriginIdentifier()
const {
196 return originIdentifier;
203 return eventsFunctionsContainer;
211 return eventsFunctionsContainer;
223 dependencies.push_back(dependency);
224 return dependencies.back();
231 dependencies.erase(dependencies.begin() + index);
260 return globalVariables;
274 return sceneVariables;
297 SerializeTo(element,
true);
310 void UnserializeExtensionDeclarationFrom(
318 void UnserializeExtensionImplementationFrom(
326 static bool IsExtensionLifecycleEventsFunction(
339 sourceFiles.push_back(sourceFile);
340 return sourceFiles.back();
347 sourceFiles.erase(sourceFiles.begin() + index);
391 std::vector<gd::String> GetUnserializingOrderEventsBasedObjectNames(
401 std::vector<gd::String> tags;
402 std::vector<gd::String> authorIds;
414 std::vector<gd::DependencyMetadata> dependencies;
415 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:296
gd::DependencyMetadata & AddDependency()
Adds a new dependency.
Definition: EventsFunctionsExtension.h:221
const std::vector< gd::DependencyMetadata > & GetAllDependencies() const
Returns the list of dependencies.
Definition: EventsFunctionsExtension.h:244
const gd::String & GetHelpPath() const
Get the help path of this extension, relative to the GDevelop documentation root.
Definition: EventsFunctionsExtension.h:128
void RemoveSourceFileAt(size_t index)
Removes a source file.
Definition: EventsFunctionsExtension.h:346
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:188
const EventsFunctionsContainer & GetEventsFunctions() const
Return a const reference to the functions of the events based behavior or object.
Definition: EventsFunctionsExtension.h:210
gd::VariablesContainer & GetGlobalVariables()
Definition: EventsFunctionsExtension.h:267
gd::SerializableWithNameList< EventsBasedObject > & GetEventsBasedObjects()
Return a reference to the list of the events based objects.
Definition: EventsFunctionsExtension.h:170
void RemoveDependencyAt(size_t index)
Adds a new dependency.
Definition: EventsFunctionsExtension.h:230
EventsFunctionsExtension & SetGDevelopVersion(const gd::String &gdevelopVersion_)
Set the GDevelop version required by this extension.
Definition: EventsFunctionsExtension.h:147
const gd::VariablesContainer & GetSceneVariables() const
Definition: EventsFunctionsExtension.h:273
std::vector< gd::DependencyMetadata > & GetAllDependencies()
Returns the list of dependencies.
Definition: EventsFunctionsExtension.h:237
gd::SourceFileMetadata & AddSourceFile()
Adds a new source file.
Definition: EventsFunctionsExtension.h:337
const gd::String & GetGDevelopVersion() const
Get the GDevelop version required by this extension.
Definition: EventsFunctionsExtension.h:142
const gd::SerializableWithNameList< EventsBasedBehavior > & GetEventsBasedBehaviors() const
Return a const reference to the list of the events based behaviors.
Definition: EventsFunctionsExtension.h:163
const gd::VariablesContainer & GetGlobalVariables() const
Definition: EventsFunctionsExtension.h:259
const std::vector< gd::SourceFileMetadata > & GetAllSourceFiles() const
Returns the list of source files.
Definition: EventsFunctionsExtension.h:360
gd::SerializableWithNameList< EventsBasedBehavior > & GetEventsBasedBehaviors()
Return a reference to the list of the events based behaviors.
Definition: EventsFunctionsExtension.h:155
gd::VariablesContainer & GetSceneVariables()
Definition: EventsFunctionsExtension.h:281
std::vector< gd::SourceFileMetadata > & GetAllSourceFiles()
Returns the list of source files.
Definition: EventsFunctionsExtension.h:353
EventsFunctionsExtension & SetHelpPath(const gd::String &helpPath_)
Set the help path of this extension, relative to the GDevelop documentation root.
Definition: EventsFunctionsExtension.h:134
EventsFunctionsContainer & GetEventsFunctions()
Return a reference to the functions of the events based behavior or object.
Definition: EventsFunctionsExtension.h:202
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:178
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