GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
EventBasedBehaviorBrowser.h
1 /*
2  * GDevelop Core
3  * Copyright 2008-2016 Florian Rival ([email protected]). All rights
4  * reserved. This project is released under the MIT License.
5  */
6 #pragma once
7 
8 #include "GDCore/IDE/ProjectBrowser.h"
9 
10 namespace gd {
11 class Project;
12 class String;
13 class EventsFunctionsExtension;
14 class EventsFunction;
15 class EventsBasedBehavior;
16 class EventsBasedObject;
17 class ArbitraryEventsWorker;
18 class ArbitraryEventsWorkerWithContext;
19 class ArbitraryEventsFunctionsWorker;
20 class ArbitraryObjectsWorker;
21 class ArbitraryEventBasedBehaviorsWorker;
22 class ArbitraryBehaviorSharedDataWorker;
23 } // namespace gd
24 
25 namespace gd {
26 
30 class GD_CORE_API EventBasedBehaviorBrowser : public ProjectBrowser {
31 public:
33  const gd::EventsFunctionsExtension &eventsFunctionsExtension_,
34  gd::EventsBasedBehavior &eventsBasedBehavior_)
35  : eventsFunctionsExtension(eventsFunctionsExtension_),
36  eventsBasedBehavior(eventsBasedBehavior_) {}
37 
44  void ExposeEvents(gd::Project &project,
45  gd::ArbitraryEventsWorker &worker) const override;
46 
53  void
54  ExposeEvents(gd::Project &project,
55  gd::ArbitraryEventsWorkerWithContext &worker) const override;
56 
63  void ExposeFunctions(gd::Project &project,
64  gd::ArbitraryEventsFunctionsWorker &worker) const override;
65 
69  void ExposeObjects(gd::Project &project,
70  gd::ArbitraryObjectsWorker &worker) const override {};
71 
75  void ExposeEventBasedBehaviors(
76  gd::Project &project,
77  gd::ArbitraryEventBasedBehaviorsWorker &worker) const override;
78 
83  gd::ArbitraryBehaviorSharedDataWorker &worker) const override {};
84 
85 private:
86  const gd::EventsFunctionsExtension &eventsFunctionsExtension;
87  gd::EventsBasedBehavior &eventsBasedBehavior;
88 };
89 
90 } // namespace gd
ArbitraryBehaviorSharedDataWorker is an abstract class used to browse shared data and do some work on...
Definition: ArbitraryBehaviorSharedDataWorker.h:29
ArbitraryEventsFunctionsWorker is an abstract class used to browse event-based behaviors and do some ...
Definition: ArbitraryEventBasedBehaviorsWorker.h:29
ArbitraryEventsFunctionsWorker is an abstract class used to browse functions signatures and do some w...
Definition: ArbitraryEventsFunctionsWorker.h:30
ArbitraryEventsWorker is an abstract class used to browse events (and instructions) and do some work ...
Definition: ArbitraryEventsWorker.h:111
An events worker that will know about the context (the objects container). Useful for workers working...
Definition: ArbitraryEventsWorker.h:136
ArbitraryObjectsWorker is an abstract class used to browse objects (and behaviors) and do some work o...
Definition: ArbitraryObjectsWorker.h:30
Expose event-based behavior contents to workers.
Definition: EventBasedBehaviorBrowser.h:30
void ExposeBehaviorSharedDatas(gd::Project &project, gd::ArbitraryBehaviorSharedDataWorker &worker) const override
Do nothing.
Definition: EventBasedBehaviorBrowser.h:82
void ExposeObjects(gd::Project &project, gd::ArbitraryObjectsWorker &worker) const override
Do nothing.
Definition: EventBasedBehaviorBrowser.h:69
Represents a behavior that is implemented with events.
Definition: EventsBasedBehavior.h:32
Hold a list of Events Functions (gd::EventsFunction) and Events Based Behaviors.
Definition: EventsFunctionsExtension.h:38
Expose a subset of the project to workers.
Definition: ProjectBrowser.h:29
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:51
Definition: CommonTools.h:24