GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
GroupVariableHelper.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 ObjectsContainersList;
12 class ObjectsContainer;
13 class ObjectGroup;
14 class VariablesContainer;
15 struct VariablesChangeset;
16 } // namespace gd
17 
18 namespace gd {
19 
25 class GD_CORE_API GroupVariableHelper {
26 public:
36  static void
37  FillAnyVariableBetweenObjects(gd::ObjectsContainer &globalObjectsContainer,
38  gd::ObjectsContainer &objectsContainer,
39  const gd::ObjectGroup &objectGroup);
40 
45  static gd::VariablesContainer MergeVariableContainers(
46  const gd::ObjectsContainersList &objectsContainersList,
47  const gd::ObjectGroup &objectGroup);
48 
57  static void FillMissingGroupVariablesToObjects(
58  gd::ObjectsContainer &globalObjectsContainer,
59  gd::ObjectsContainer &objectsContainer,
60  const gd::ObjectGroup &objectGroup,
61  const gd::SerializerElement &originalSerializedVariables);
62 
67  static void
68  ApplyChangesToObjects(gd::ObjectsContainer &globalObjectsContainers,
69  gd::ObjectsContainer &objectsContainers,
70  const gd::VariablesContainer &groupVariablesContainer,
71  const gd::ObjectGroup &objectGroup,
72  const gd::VariablesChangeset &changeset);
73 };
74 
75 } // namespace gd
Definition: GroupVariableHelper.h:25
Represents an object group.
Definition: ObjectGroup.h:28
Used as a base class for classes that will own objects (see gd::Object).
Definition: ObjectsContainer.h:36
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
Class defining a container for gd::Variable.
Definition: VariablesContainer.h:28
Definition: CommonTools.h:24
Definition: WholeProjectRefactorer.h:53