GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
EventsFunctionTools.h
1 /*
2  * GDevelop Core
3  * Copyright 2008-present Florian Rival ([email protected]). All rights
4  * reserved. This project is released under the MIT License.
5  */
6 #pragma once
7 
8 #include <vector>
9 #include "GDCore/String.h"
10 
11 namespace gd {
12 class Project;
13 class EventsFunctionsContainer;
14 class ObjectsContainer;
15 class ParameterMetadataContainer;
16 class PropertiesContainer;
17 class ResourcesContainer;
18 class VariablesContainer;
19 class ParameterMetadata;
20 class EventsFunction;
21 class EventsBasedBehavior;
22 class EventsBasedObject;
23 class Expression;
24 } // namespace gd
25 
26 namespace gd {
30 class GD_CORE_API EventsFunctionTools {
31  public:
40  static void FreeEventsFunctionToObjectsContainer(
41  const gd::Project& project,
42  const gd::EventsFunctionsContainer& functionContainer,
43  const gd::EventsFunction& eventsFunction,
44  gd::ObjectsContainer& outputObjectsContainer);
45 
55  static void BehaviorEventsFunctionToObjectsContainer(
56  const gd::Project& project,
57  const gd::EventsBasedBehavior& eventsBasedBehavior,
58  const gd::EventsFunction& eventsFunction,
59  gd::ObjectsContainer& outputObjectsContainer);
60 
70  static void ObjectEventsFunctionToObjectsContainer(
71  const gd::Project& project,
72  const gd::EventsBasedObject& eventsBasedObject,
73  const gd::EventsFunction& eventsFunction,
74  gd::ObjectsContainer& outputObjectsContainer);
75 
76  static void ParametersToVariablesContainer(
77  const ParameterMetadataContainer &parameters,
78  gd::VariablesContainer &outputVariablesContainer);
79 
80  static void PropertiesToVariablesContainer(
81  const PropertiesContainer &properties,
82  gd::VariablesContainer &outputVariablesContainer);
83 
84  static void ParametersToResourcesContainer(
85  const ParameterMetadataContainer &parameters,
86  gd::ResourcesContainer &outputResourcesContainer);
87 
88  static void PropertiesToResourcesContainer(
89  const PropertiesContainer &properties,
90  gd::ResourcesContainer &outputResourcesContainer);
91 };
92 } // namespace gd
Represents a behavior that is implemented with events.
Definition: EventsBasedBehavior.h:31
Represents an object that is implemented with events.
Definition: EventsBasedObject.h:32
Events that can be generated as a stand-alone function, and used as a condition, action or expression...
Definition: EventsFunction.h:38
Definition: EventsFunctionTools.h:30
Used as a base class for classes that will own events-backed functions.
Definition: EventsFunctionsContainer.h:27
Used as a base class for classes that will own objects (see gd::Object).
Definition: ObjectsContainer.h:37
Used as a base class for classes that will own events-backed functions.
Definition: ParameterMetadataContainer.h:26
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
Inventory all resources used by a project.
Definition: ResourcesContainer.h:628
Class defining a container for gd::Variable.
Definition: VariablesContainer.h:28
Definition: CommonTools.h:24