GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
ObjectVariableHelper.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/Project/VariablesContainer.h"
9 
10 namespace gd {
11 class EventsBasedObject;
12 class InitialInstancesContainer;
13 class ObjectsContainersList;
14 class ObjectsContainer;
15 class ObjectGroup;
16 class VariablesContainer;
17 struct VariablesChangeset;
18 } // namespace gd
19 
20 namespace gd {
21 
27 class GD_CORE_API ObjectVariableHelper {
28 public:
38  static void
39  FillAnyVariableBetweenObjects(gd::ObjectsContainer &globalObjectsContainer,
40  gd::ObjectsContainer &objectsContainer,
41  const gd::ObjectGroup &objectGroup);
42 
47  static gd::VariablesContainer MergeVariableContainers(
48  const gd::ObjectsContainersList &objectsContainersList,
49  const gd::ObjectGroup &objectGroup);
50 
59  static void FillMissingGroupVariablesToObjects(
60  gd::ObjectsContainer &globalObjectsContainer,
61  gd::ObjectsContainer &objectsContainer,
62  const gd::ObjectGroup &objectGroup,
63  const gd::SerializerElement &originalSerializedVariables);
64 
69  static void
70  ApplyChangesToObjects(gd::ObjectsContainer &globalObjectsContainers,
71  gd::ObjectsContainer &objectsContainers,
72  const gd::VariablesContainer &groupVariablesContainer,
73  const gd::ObjectGroup &objectGroup,
74  const gd::VariablesChangeset &changeset);
75 
79  static void ApplyChangesToObjectInstances(
80  gd::VariablesContainer &objectVariablesContainer,
81  gd::InitialInstancesContainer &initialInstancesContainer,
82  const gd::String &objectName, const gd::VariablesChangeset &changeset);
83 
88  static void ApplyChangesToVariants(gd::EventsBasedObject &eventsBasedObject,
89  const gd::String &objectName,
90  const gd::VariablesChangeset &changeset);
91 };
92 
93 } // namespace gd
Represents an object that is implemented with events.
Definition: EventsBasedObject.h:32
Defines a container of gd::InitialInstances.
Definition: InitialInstancesContainer.h:38
Represents an object group.
Definition: ObjectGroup.h:28
Definition: ObjectVariableHelper.h:27
Used as a base class for classes that will own objects (see gd::Object).
Definition: ObjectsContainer.h:37
A list of objects containers, useful for accessing objects in a scoped way, along with methods to acc...
Definition: ObjectsContainersList.h:29
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:28
Definition: CommonTools.h:24
Definition: WholeProjectRefactorer.h:47