GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
ResourceExposer.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 <functional>
9 
10 namespace gd {
11 class Platform;
12 class Project;
13 class ArbitraryResourceWorker;
14 class EventsBasedObjectVariant;
15 class EventsFunctionsExtension;
16 class Effect;
17 class Layout;
18 class Object;
19 } // namespace gd
20 
21 namespace gd {
22 
26 class GD_CORE_API ResourceExposer {
27 public:
37  static void ExposeWholeProjectResources(gd::Project &project,
39 
45  static void ExposeProjectResources(gd::Project &project,
47 
53  static void ExposeLayoutResources(gd::Project &project, gd::Layout &layout,
55 
61  static void ExposeLayoutResources(
62  gd::Project &project, gd::Layout &layout,
64  std::function<bool(const gd::Object &)> &shouldCheckObject);
65 
69  static void ExposeEventsBasedObjectVariantResources(
70  gd::Project &project,
71  gd::EventsBasedObjectVariant &eventsBasedObjectVariant,
73 
77  static void ExposeEffectResources(gd::Platform &platform,
78  gd::Effect &effect,
80 
84  static void ExposeExtensionResources(gd::EventsFunctionsExtension &extension,
86 };
87 
88 } // namespace gd
ArbitraryResourceWorker is used so as to inventory resources and sometimes update them.
Definition: ArbitraryResourceWorker.h:44
Represents an effect that can be applied on a layer.
Definition: Effect.h:21
Represents a variation of style of an events-based object.
Definition: EventsBasedObjectVariant.h:26
Hold a list of Events Functions (gd::EventsFunction) and Events Based Behaviors.
Definition: EventsFunctionsExtension.h:41
Represent a layout ( also called a scene ) of a project.
Definition: Layout.h:41
Represent an object of a platform.
Definition: Object.h:39
Base class for implementing a platform.
Definition: Platform.h:42
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:51
Definition: ResourceExposer.h:26
Definition: CommonTools.h:24