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 ParameterMetadata;
16 class EventsFunction;
17 class EventsBasedBehavior;
18 class EventsBasedObject;
19 class Expression;
20 } // namespace gd
21 
22 namespace gd {
26 class GD_CORE_API EventsFunctionTools {
27  public:
36  static void FreeEventsFunctionToObjectsContainer(
37  const gd::Project& project,
38  const gd::EventsFunctionsContainer& functionContainer,
39  const gd::EventsFunction& eventsFunction,
40  gd::ObjectsContainer& outputObjectsContainer);
41 
51  static void BehaviorEventsFunctionToObjectsContainer(
52  const gd::Project& project,
53  const gd::EventsBasedBehavior& eventsBasedBehavior,
54  const gd::EventsFunction& eventsFunction,
55  gd::ObjectsContainer& outputObjectsContainer);
56 
66  static void ObjectEventsFunctionToObjectsContainer(
67  const gd::Project& project,
68  const gd::EventsBasedObject& eventsBasedObject,
69  const gd::EventsFunction& eventsFunction,
70  gd::ObjectsContainer& outputObjectsContainer);
71 };
72 } // namespace gd
Represents a behavior that is implemented with events.
Definition: EventsBasedBehavior.h:32
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:26
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
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:51
Definition: CommonTools.h:24