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 VariablesContainer;
18 class ParameterMetadata;
19 class EventsFunction;
20 class EventsBasedBehavior;
21 class EventsBasedObject;
22 class Expression;
23 } // namespace gd
24 
25 namespace gd {
29 class GD_CORE_API EventsFunctionTools {
30  public:
39  static void FreeEventsFunctionToObjectsContainer(
40  const gd::Project& project,
41  const gd::EventsFunctionsContainer& functionContainer,
42  const gd::EventsFunction& eventsFunction,
43  gd::ObjectsContainer& outputObjectsContainer);
44 
54  static void BehaviorEventsFunctionToObjectsContainer(
55  const gd::Project& project,
56  const gd::EventsBasedBehavior& eventsBasedBehavior,
57  const gd::EventsFunction& eventsFunction,
58  gd::ObjectsContainer& outputObjectsContainer);
59 
69  static void ObjectEventsFunctionToObjectsContainer(
70  const gd::Project& project,
71  const gd::EventsBasedObject& eventsBasedObject,
72  const gd::EventsFunction& eventsFunction,
73  gd::ObjectsContainer& outputObjectsContainer);
74 
75  static void ParametersToVariablesContainer(
76  const ParameterMetadataContainer &parameters,
77  gd::VariablesContainer &outputVariablesContainer);
78 
79  static void PropertiesToVariablesContainer(
80  const PropertiesContainer &properties,
81  gd::VariablesContainer &outputVariablesContainer);
82 };
83 } // 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:30
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:29
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
Class defining a container for gd::Variable.
Definition: VariablesContainer.h:28
Definition: CommonTools.h:24