GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
ProjectBrowser.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 
7 #pragma once
8 
9 namespace gd {
10 class Project;
11 class String;
12 class EventsFunctionsExtension;
13 class EventsFunction;
14 class EventsBasedBehavior;
15 class EventsBasedObject;
16 class ArbitraryEventsWorker;
17 class ArbitraryEventsWorkerWithContext;
18 class ArbitraryEventsFunctionsWorker;
19 class ArbitraryObjectsWorker;
20 class ArbitraryEventBasedBehaviorsWorker;
21 class ArbitraryBehaviorSharedDataWorker;
22 } // namespace gd
23 
24 namespace gd {
25 
29 class GD_CORE_API ProjectBrowser {
30 public:
36  virtual void ExposeEvents(gd::Project &project,
37  gd::ArbitraryEventsWorker &worker) const = 0;
43  virtual void
45  gd::ArbitraryEventsWorkerWithContext &worker) const = 0;
46 
52  virtual void ExposeObjects(gd::Project &project,
53  gd::ArbitraryObjectsWorker &worker) const = 0;
54 
62  virtual void ExposeFunctions(gd::Project &project,
63  gd::ArbitraryEventsFunctionsWorker &worker) const = 0;
64 
73  gd::Project &project,
74  gd::ArbitraryEventBasedBehaviorsWorker &worker) const = 0;
75 
82  virtual void
84  gd::ArbitraryBehaviorSharedDataWorker &worker) const = 0;
85 
86  virtual ~ProjectBrowser(){};
87 };
88 
89 } // 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:36
An events worker that will know about the context (the objects container). Useful for workers working...
Definition: ArbitraryEventsWorker.h:113
ArbitraryObjectsWorker is an abstract class used to browse objects (and behaviors) and do some work o...
Definition: ArbitraryObjectsWorker.h:30
Expose a subset of the project to workers.
Definition: ProjectBrowser.h:29
virtual void ExposeBehaviorSharedDatas(gd::Project &project, gd::ArbitraryBehaviorSharedDataWorker &worker) const =0
Call the specified worker on all SharedData of a project subset.
virtual void ExposeObjects(gd::Project &project, gd::ArbitraryObjectsWorker &worker) const =0
Call the specified worker on all ObjectContainer of a project subset.
virtual void ExposeEventBasedBehaviors(gd::Project &project, gd::ArbitraryEventBasedBehaviorsWorker &worker) const =0
Call the specified worker on all EventBasedBehavior of a project subset.
virtual void ExposeEvents(gd::Project &project, gd::ArbitraryEventsWorker &worker) const =0
Call the specified worker on all events of a project subset.
virtual void ExposeFunctions(gd::Project &project, gd::ArbitraryEventsFunctionsWorker &worker) const =0
Call the specified worker on all FunctionsContainer of a project subset.
virtual void ExposeEvents(gd::Project &project, gd::ArbitraryEventsWorkerWithContext &worker) const =0
Call the specified worker on all events of a project subset.
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:50
Definition: CommonTools.h:24