9 class VariablesContainer;
11 class EventsFunctionsExtension;
12 class EventsBasedBehavior;
13 class EventsBasedObject;
34 MakeNewVariablesContainersListForProjectAndLayout(
const gd::Project &project,
38 MakeNewVariablesContainersListForProject(
const gd::Project &project);
41 MakeNewVariablesContainersListForEventsFunctionsExtension(
45 MakeNewVariablesContainersListForFreeEventsFunction(
51 MakeNewVariablesContainersListForBehaviorEventsFunction(
59 MakeNewVariablesContainersListForObjectEventsFunction(
101 if (variablesContainers.empty())
103 return variablesContainers.front();
112 if (variablesContainers.empty())
114 return variablesContainers.at(firstLocalVariableContainerIndex - 1);
121 GetVariablesContainerFromVariableOrPropertyOrParameterName(
const gd::String &variableName)
const;
127 GetVariablesContainerFromVariableOrPropertyName(
const gd::String &variableName)
const;
133 GetVariablesContainerFromVariableNameOnly(
const gd::String &variableName)
const;
138 std::size_t GetVariablesContainerPositionFromVariableName(
144 std::size_t GetLocalVariablesContainerPosition(
154 return *variablesContainers.at(index);
161 return variablesContainers.size();
168 void ForEachVariableMatchingSearch(
177 variablesContainers.push_back(&variablesContainer);
183 void Pop() { variablesContainers.pop_back(); };
190 std::vector<const gd::VariablesContainer *> variablesContainers;
191 std::size_t firstLocalVariableContainerIndex;
Represents a behavior that is implemented with events.
Definition: EventsBasedBehavior.h:31
Represents an object that is implemented with events.
Definition: EventsBasedObject.h:30
Events that can be generated as a stand-alone function, and used as a condition, action or expression...
Definition: EventsFunction.h:38
Hold a list of Events Functions (gd::EventsFunction) and Events Based Behaviors.
Definition: EventsFunctionsExtension.h:39
Represent a layout ( also called a scene ) of a project.
Definition: Layout.h:40
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:50
String represents an UTF8 encoded string.
Definition: String.h:33
Defines a variable which can be used by an object, a layout or a project.
Definition: Variable.h:29
Class defining a container for gd::Variable.
Definition: VariablesContainer.h:28
A list of variables containers, useful for accessing variables in a scoped way.
Definition: VariablesContainersList.h:29
const VariablesContainer * GetTopMostVariablesContainer() const
Avoid using apart when a scope must be forced.
Definition: VariablesContainersList.h:100
VariablesContainersList()
Definition: VariablesContainersList.h:187
std::size_t GetVariablesContainersCount() const
Return the number variable containers.
Definition: VariablesContainersList.h:160
const gd::VariablesContainer & GetVariablesContainer(std::size_t index) const
Get the variable container at the specified index in the list.
Definition: VariablesContainersList.h:153
const VariablesContainer * GetBottomMostVariablesContainer() const
Avoid using apart when a scope must be forced.
Definition: VariablesContainersList.h:111
void Push(const gd::VariablesContainer &variablesContainer)
Push a new variables container to the context.
Definition: VariablesContainersList.h:176
void Pop()
Pop a variables container from the context.
Definition: VariablesContainersList.h:183
Definition: CommonTools.h:24