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/TestsContainer.h"
17 #include "GDCore/Project/VariablesContainer.h"
18 #include "GDCore/String.h"
19 #include "GDCore/Tools/SerializableWithNameList.h"
22 class SerializerElement;
57 const gd::String& GetVersion()
const {
return version; };
58 EventsFunctionsExtension& SetVersion(
const gd::String& version_) {
63 const gd::String& GetNamespace()
const {
return extensionNamespace; };
64 EventsFunctionsExtension& SetNamespace(
const gd::String& namespace_) {
65 extensionNamespace = namespace_;
69 const gd::String& GetShortDescription()
const {
return shortDescription; };
70 EventsFunctionsExtension& SetShortDescription(
72 shortDescription = shortDescription_;
76 const gd::String& GetDescription()
const {
return description; };
77 EventsFunctionsExtension& SetDescription(
const gd::String& description_) {
78 description = description_;
82 const gd::String& GetDimension()
const {
return dimension; };
83 EventsFunctionsExtension& SetDimension(
const gd::String& dimension_) {
84 dimension = dimension_;
88 const gd::String& GetName()
const {
return name; };
89 EventsFunctionsExtension& SetName(
const gd::String& name_) {
94 const gd::String& GetFullName()
const {
return fullName; };
95 EventsFunctionsExtension& SetFullName(
const gd::String& fullName_) {
100 const gd::String& GetCategory()
const {
return category; };
101 EventsFunctionsExtension& SetCategory(
const gd::String& category_) {
102 category = category_;
106 const std::vector<gd::String>& GetTags()
const {
return tags; };
107 std::vector<gd::String>& GetTags() {
return tags; };
109 const std::vector<gd::String>& GetAuthorIds()
const {
return authorIds; };
110 std::vector<gd::String>& GetAuthorIds() {
return authorIds; };
112 const gd::String& GetAuthor()
const {
return author; };
113 EventsFunctionsExtension& SetAuthor(
const gd::String& author_) {
118 const gd::String& GetPreviewIconUrl()
const {
return previewIconUrl; };
119 EventsFunctionsExtension& SetPreviewIconUrl(
121 previewIconUrl = previewIconUrl_;
125 const gd::String& GetIconUrl()
const {
return iconUrl; };
126 EventsFunctionsExtension& SetIconUrl(
const gd::String& iconUrl_) {
142 helpPath = helpPath_;
155 gdevelopVersion = gdevelopVersion_;
163 return eventsBasedBehaviors;
171 return eventsBasedBehaviors;
178 return eventsBasedObjects;
186 return eventsBasedObjects;
207 originName = originName_;
208 originIdentifier = originIdentifier_;
211 virtual const gd::String& GetOriginName()
const {
return originName; }
212 virtual const gd::String& GetOriginIdentifier()
const {
213 return originIdentifier;
220 return eventsFunctionsContainer;
228 return eventsFunctionsContainer;
240 dependencies.push_back(dependency);
241 return dependencies.back();
248 dependencies.erase(dependencies.begin() + index);
277 return globalVariables;
291 return sceneVariables;
314 SerializeTo(element,
true);
327 void UnserializeExtensionDeclarationFrom(
334 void UnserializeExtensionDefaultVariantsFrom(
gd::Project &project,
341 void UnserializeExtensionImplementationFrom(
349 static bool IsExtensionLifecycleEventsFunction(
362 sourceFiles.push_back(sourceFile);
363 return sourceFiles.back();
370 sourceFiles.erase(sourceFiles.begin() + index);
422 std::vector<gd::String> tags;
423 std::vector<gd::String> authorIds;
435 std::vector<gd::DependencyMetadata> dependencies;
436 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:42
void SerializeToExternal(gd::SerializerElement &element) const
Serialize the EventsFunctionsExtension to the specified element.
Definition: EventsFunctionsExtension.h:313
gd::DependencyMetadata & AddDependency()
Adds a new dependency.
Definition: EventsFunctionsExtension.h:238
const std::vector< gd::DependencyMetadata > & GetAllDependencies() const
Returns the list of dependencies.
Definition: EventsFunctionsExtension.h:261
const gd::String & GetHelpPath() const
Get the help path of this extension, relative to the GDevelop documentation root.
Definition: EventsFunctionsExtension.h:135
void RemoveSourceFileAt(size_t index)
Removes a source file.
Definition: EventsFunctionsExtension.h:369
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:205
const EventsFunctionsContainer & GetEventsFunctions() const
Return a const reference to the functions of the events based behavior or object.
Definition: EventsFunctionsExtension.h:227
gd::VariablesContainer & GetGlobalVariables()
Definition: EventsFunctionsExtension.h:284
gd::SerializableWithNameList< EventsBasedObject > & GetEventsBasedObjects()
Return a reference to the list of the events based objects.
Definition: EventsFunctionsExtension.h:177
void RemoveDependencyAt(size_t index)
Adds a new dependency.
Definition: EventsFunctionsExtension.h:247
EventsFunctionsExtension & SetGDevelopVersion(const gd::String &gdevelopVersion_)
Set the GDevelop version required by this extension.
Definition: EventsFunctionsExtension.h:154
const gd::VariablesContainer & GetSceneVariables() const
Definition: EventsFunctionsExtension.h:290
std::vector< gd::DependencyMetadata > & GetAllDependencies()
Returns the list of dependencies.
Definition: EventsFunctionsExtension.h:254
gd::SourceFileMetadata & AddSourceFile()
Adds a new source file.
Definition: EventsFunctionsExtension.h:360
const gd::String & GetGDevelopVersion() const
Get the GDevelop version required by this extension.
Definition: EventsFunctionsExtension.h:149
const gd::SerializableWithNameList< EventsBasedBehavior > & GetEventsBasedBehaviors() const
Return a const reference to the list of the events based behaviors.
Definition: EventsFunctionsExtension.h:170
const gd::VariablesContainer & GetGlobalVariables() const
Definition: EventsFunctionsExtension.h:276
const gd::TestsContainer & GetTests() const
Return a const reference to the tests of the extension.
Definition: EventsFunctionsExtension.h:197
gd::TestsContainer & GetTests()
Return a reference to the tests of the extension.
Definition: EventsFunctionsExtension.h:192
const std::vector< gd::SourceFileMetadata > & GetAllSourceFiles() const
Returns the list of source files.
Definition: EventsFunctionsExtension.h:383
gd::SerializableWithNameList< EventsBasedBehavior > & GetEventsBasedBehaviors()
Return a reference to the list of the events based behaviors.
Definition: EventsFunctionsExtension.h:162
gd::VariablesContainer & GetSceneVariables()
Definition: EventsFunctionsExtension.h:298
std::vector< gd::SourceFileMetadata > & GetAllSourceFiles()
Returns the list of source files.
Definition: EventsFunctionsExtension.h:376
EventsFunctionsExtension & SetHelpPath(const gd::String &helpPath_)
Set the help path of this extension, relative to the GDevelop documentation root.
Definition: EventsFunctionsExtension.h:141
EventsFunctionsContainer & GetEventsFunctions()
Return a reference to the functions of the events based behavior or object.
Definition: EventsFunctionsExtension.h:219
EventsFunctionsExtension * Clone() const
Return a pointer to a new EventsFunctionsExtension constructed from this one.
Definition: EventsFunctionsExtension.h:53
const gd::SerializableWithNameList< EventsBasedObject > & GetEventsBasedObjects() const
Return a const reference to the list of the events based objects.
Definition: EventsFunctionsExtension.h:185
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:52
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
A container of tests (gd::Test), used by gd::Project and gd::EventsFunctionsExtension.
Definition: TestsContainer.h:27
Class defining a container for gd::Variable.
Definition: VariablesContainer.h:29
Definition: CommonTools.h:24