11 #include "GDCore/Project/MemoryTrackedRegistry.h"
12 #include "GDCore/String.h"
13 #include "GDCore/Project/ObjectGroupsContainer.h"
14 #include "GDCore/Project/ObjectFolderOrObject.h"
18 class SerializerElement;
57 SourceType GetSourceType()
const {
return sourceType; }
67 bool HasObjectNamed(
const gd::String& name)
const;
89 const gd::Object& GetObject(std::size_t index)
const;
99 std::size_t GetObjectPosition(
const gd::String& name)
const;
104 std::size_t GetObjectsCount()
const;
116 std::size_t position);
129 std::size_t position);
154 void MoveObject(std::size_t oldIndex, std::size_t newIndex);
164 void MoveObjectFolderOrObjectToAnotherContainerInFolder(
168 std::size_t newPosition);
179 return initialObjects;
185 const std::vector<std::unique_ptr<gd::Object> >&
GetObjects()
const {
186 return initialObjects;
189 std::set<gd::String> GetAllObjectNames()
const;
197 std::vector<const ObjectFolderOrObject*> GetAllObjectFolderOrObjects()
const;
203 void AddMissingObjectsInRootFolder();
212 void SerializeObjectsTo(SerializerElement& element)
const;
218 const SerializerElement& element);
222 void SerializeFoldersTo(SerializerElement& element)
const;
228 const SerializerElement& element);
249 std::vector<std::unique_ptr<gd::Object> >
254 SourceType sourceType = Unknown;
255 std::unique_ptr<gd::ObjectFolderOrObject> rootFolder;
Represent a layout ( also called a scene ) of a project.
Definition: Layout.h:41
A non-copyable, non-movable member object that registers/unregisters its owner with MemoryTrackedRegi...
Definition: MemoryTrackedRegistry.h:129
Class representing a folder structure in order to organize objects in folders (to be used with an Obj...
Definition: ObjectFolderOrObject.h:30
A container for objects groups.
Definition: ObjectGroupsContainer.h:30
Represent an object of a platform.
Definition: Object.h:39
Used as a base class for classes that will own objects (see gd::Object).
Definition: ObjectsContainer.h:38
std::vector< std::unique_ptr< gd::Object > > & GetObjects()
Definition: ObjectsContainer.h:178
const ObjectGroupsContainer & GetObjectGroups() const
Return a const reference to the project's objects groups.
Definition: ObjectsContainer.h:244
const std::vector< std::unique_ptr< gd::Object > > & GetObjects() const
Definition: ObjectsContainer.h:185
std::vector< std::unique_ptr< gd::Object > > initialObjects
Objects contained.
Definition: ObjectsContainer.h:250
ObjectGroupsContainer & GetObjectGroups()
Return a reference to the project's objects groups.
Definition: ObjectsContainer.h:239
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:51
String represents an UTF8 encoded string.
Definition: String.h:33
Definition: CommonTools.h:24