13 #include "GDCore/Events/EventsList.h"
14 #include "GDCore/IDE/Dialogs/LayoutEditorCanvas/EditorSettings.h"
15 #include "GDCore/Project/BehaviorsSharedData.h"
16 #include "GDCore/Project/InitialInstancesContainer.h"
17 #include "GDCore/Project/Layer.h"
18 #include "GDCore/Project/LayersContainer.h"
19 #include "GDCore/Project/ObjectGroupsContainer.h"
20 #include "GDCore/Project/ObjectsContainer.h"
21 #include "GDCore/Project/VariablesContainer.h"
22 #include "GDCore/Project/MemoryTrackedRegistry.h"
23 #include "GDCore/String.h"
29 class InitialInstancesContainer;
116 return objectsContainer;
123 return objectsContainer;
136 return initialInstances;
143 return initialInstances;
204 bool HasLayerNamed(
const gd::String& name)
const;
219 Layer& GetLayer(std::size_t index);
224 const Layer& GetLayer(std::size_t index)
const;
229 std::size_t GetLayerPosition(
const gd::String& name)
const;
234 std::size_t GetLayersCount()
const;
239 void InsertNewLayer(
const gd::String& name, std::size_t position);
244 void InsertLayer(
const Layer& theLayer, std::size_t position);
254 void SwapLayers(std::size_t firstLayerIndex, std::size_t secondLayerIndex);
259 void MoveLayer(std::size_t oldIndex, std::size_t newIndex);
270 void UpdateBehaviorsSharedData(
gd::Project& project);
275 std::vector<gd::String> GetAllBehaviorSharedDataNames()
const;
280 bool HasBehaviorSharedData(
const gd::String& behaviorName);
297 const std::map<gd::String, std::unique_ptr<gd::BehaviorsSharedData>>&
298 GetAllBehaviorSharedData()
const;
305 return editorSettings;
321 disableInputWhenNotFocused = disable;
333 standardSortMethod = enable;
345 stopSoundsOnStartup = enable;
359 resourcesPreloading = resourcesPreloading_;
367 return resourcesPreloading;
375 resourcesUnloading = resourcesUnloading_;
405 unsigned int backgroundColorR = 0;
406 unsigned int backgroundColorG = 0;
407 unsigned int backgroundColorB = 0;
413 std::map<gd::String, std::unique_ptr<gd::BehaviorsSharedData>>
415 bool stopSoundsOnStartup =
true;
421 bool standardSortMethod =
true;
422 bool disableInputWhenNotFocused =
true;
426 badBehaviorSharedData;
439 std::unique_ptr<gd::BehaviorsSharedData> CreateBehaviorsSharedData(
462 const ObjectsContainer& layout,
464 bool searchInGroups =
true);
474 bool searchInGroups =
true);
479 std::vector<gd::String> GD_CORE_API
484 bool searchInGroups);
494 bool searchInGroups =
true);
505 bool searchInGroups =
true);
512 const ObjectsContainer& layout,
514 bool searchInGroups =
true);
523 std::vector<gd::String> GD_CORE_API
525 const ObjectsContainer& layout,
527 bool searchInGroups =
true);
Base class for defining data shared by behaviors having the same type and name.
Definition: BehaviorsSharedData.h:24
Container for arbitrary serialized data to be used by the editor to store settings.
Definition: EditorSettings.h:19
A list of events.
Definition: EventsList.h:32
Defines a container of gd::InitialInstances.
Definition: InitialInstancesContainer.h:39
Represents a layer of a layout.
Definition: Layer.h:91
Contains the layers for a scene or a custom object.
Definition: LayersContainer.h:22
Represent a layout ( also called a scene ) of a project.
Definition: Layout.h:41
bool StopSoundsOnStartup() const
Definition: Layout.h:352
bool StandardSortMethod() const
Definition: Layout.h:339
const gd::String & GetMangledName() const
Definition: Layout.h:71
gd::ObjectsContainer & GetObjects()
return the objects of the scene.
Definition: Layout.h:115
unsigned int GetBackgroundColorGreen() const
Definition: Layout.h:90
void SetStandardSortMethod(bool enable=true)
Definition: Layout.h:332
gd::InitialInstancesContainer & GetInitialInstances()
Definition: Layout.h:142
bool IsInputDisabledWhenFocusIsLost()
Definition: Layout.h:327
void SetBackgroundColor(unsigned int r, unsigned int g, unsigned int b)
Definition: Layout.h:76
const gd::ObjectsContainer & GetObjects() const
Return the objects of the scene.
Definition: Layout.h:122
const gd::VariablesContainer & GetVariables() const
Get the variables of the scene.
Definition: Layout.h:174
const gd::String & GetResourcesUnloading() const
Definition: Layout.h:382
const gd::String & GetResourcesPreloading() const
Definition: Layout.h:366
const gd::EventsList & GetEvents() const
Definition: Layout.h:155
gd::EditorSettings & GetAssociatedEditorSettings()
Definition: Layout.h:312
const gd::LayersContainer & GetLayers() const
Get the layers of the scene.
Definition: Layout.h:194
const gd::String & GetName() const
Definition: Layout.h:66
const gd::String & GetWindowDefaultTitle() const
Definition: Layout.h:100
unsigned int GetBackgroundColorBlue() const
Definition: Layout.h:95
const gd::EditorSettings & GetAssociatedEditorSettings() const
Definition: Layout.h:304
void SetResourcesPreloading(gd::String resourcesPreloading_)
Definition: Layout.h:358
const gd::InitialInstancesContainer & GetInitialInstances() const
Definition: Layout.h:135
unsigned int GetBackgroundColorRed() const
Definition: Layout.h:85
void SetStopSoundsOnStartup(bool enable=true)
Definition: Layout.h:344
gd::LayersContainer & GetLayers()
Get the layers of the scene.
Definition: Layout.h:199
void DisableInputWhenFocusIsLost(bool disable=true)
Definition: Layout.h:320
gd::EventsList & GetEvents()
Definition: Layout.h:160
Layout * Clone() const
Return a pointer to a copy of the layout.
Definition: Layout.h:51
gd::VariablesContainer & GetVariables()
Get the variables of the scene.
Definition: Layout.h:183
void SetResourcesUnloading(gd::String resourcesUnloading_)
Definition: Layout.h:374
void SetWindowDefaultTitle(const gd::String &title_)
Definition: Layout.h:105
A non-copyable, non-movable member object that registers/unregisters its owner with MemoryTrackedRegi...
Definition: MemoryTrackedRegistry.h:129
Used as a base class for classes that will own objects (see gd::Object).
Definition: ObjectsContainer.h:38
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:51
A generic container that can represent a value ( containing a string, double, bool or int),...
Definition: SerializerElement.h:37
String represents an UTF8 encoded string.
Definition: String.h:33
Class defining a container for gd::Variable.
Definition: VariablesContainer.h:29
Definition: CommonTools.h:24
gd::String GD_CORE_API GetTypeOfObject(const gd::ObjectsContainer &project, const gd::ObjectsContainer &layout, gd::String name, bool searchInGroups)
Get a type from an object/group name.
Definition: Layout.cpp:434
std::vector< gd::String > GD_CORE_API GetBehaviorNamesInObjectOrGroup(const gd::ObjectsContainer &project, const gd::ObjectsContainer &layout, const gd::String &objectOrGroupName, const gd::String &behaviorType, bool searchInGroups)
Get the names of behavior of a given type if an object or all objects of a group has it.
Definition: Layout.cpp:522
gd::String GD_CORE_API GetTypeOfBehaviorInObjectOrGroup(const gd::ObjectsContainer &project, const gd::ObjectsContainer &layout, const gd::String &objectOrGroupName, const gd::String &behaviorName, bool searchInGroups)
Get the type of a behavior if an object or all objects of a group has it.
Definition: Layout.cpp:689
gd::String GD_CORE_API GetTypeOfBehavior(const gd::ObjectsContainer &project, const gd::ObjectsContainer &layout, gd::String name, bool searchInGroups)
Get a type from a behavior name.
Definition: Layout.cpp:744
bool GD_CORE_API IsDefaultBehavior(const gd::ObjectsContainer &project, const gd::ObjectsContainer &layout, gd::String objectOrGroupName, gd::String behaviorName, bool searchInGroups)
Check if a behavior is a default one or doesn't exist in an object or all objects of a group.
Definition: Layout.cpp:638
vector< gd::String > GD_CORE_API GetBehaviorsOfObject(const gd::ObjectsContainer &project, const gd::ObjectsContainer &layout, const gd::String &name, bool searchInGroups)
Get behaviors of an object/group.
Definition: Layout.cpp:766
bool GD_CORE_API HasBehaviorInObjectOrGroup(const gd::ObjectsContainer &project, const gd::ObjectsContainer &layout, const gd::String &objectOrGroupName, const gd::String &behaviorName, bool searchInGroups)
Check if an object or all objects of a group has a behavior.
Definition: Layout.cpp:591
std::vector< gd::String > GetHiddenLayers(const Layout &layout)
Get the names of all layers from the given layout that are invisible.
Definition: Layout.cpp:423