GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
Public Member Functions | Static Public Member Functions | List of all members
gd::VariablesContainersList Class Reference

A list of variables containers, useful for accessing variables in a scoped way. More...

#include <VariablesContainersList.h>

Public Member Functions

bool Has (const gd::String &name) const
 Return true if the specified variable is in one of the containers.
 
const VariableGet (const gd::String &name) const
 Return a reference to the variable called name.
 
bool HasVariablesContainer (const gd::VariablesContainer &variablesContainer) const
 Return true if the specified variable container is present.
 
const VariablesContainerGetTopMostVariablesContainer () const
 Avoid using apart when a scope must be forced. More...
 
const VariablesContainerGetBottomMostVariablesContainer () const
 Avoid using apart when a scope must be forced. More...
 
const VariablesContainerGetVariablesContainerFromVariableOrPropertyOrParameterName (const gd::String &variableName) const
 
const VariablesContainerGetVariablesContainerFromVariableOrPropertyName (const gd::String &variableName) const
 
const VariablesContainerGetVariablesContainerFromVariableNameOnly (const gd::String &variableName) const
 
std::size_t GetVariablesContainerPositionFromVariableName (const gd::String &variableName) const
 
std::size_t GetLocalVariablesContainerPosition (const gd::VariablesContainer &localVariableContainer) const
 Get the index of the given local variables container.
 
const gd::VariablesContainerGetVariablesContainer (std::size_t index) const
 Get the variable container at the specified index in the list. More...
 
std::size_t GetVariablesContainersCount () const
 Return the number variable containers.
 
void ForEachVariableMatchingSearch (const gd::String &search, std::function< void(const gd::String &name, const gd::Variable &variable)> fn) const
 Call the callback for each variable having a name matching the specified search.
 
void Push (const gd::VariablesContainer &variablesContainer)
 Push a new variables container to the context.
 
void Pop ()
 Pop a variables container from the context.
 
 VariablesContainersList ()
 

Static Public Member Functions

static VariablesContainersList MakeNewVariablesContainersListForProjectAndLayout (const gd::Project &project, const gd::Layout &layout)
 
static VariablesContainersList MakeNewVariablesContainersListForProject (const gd::Project &project)
 
static VariablesContainersList MakeNewVariablesContainersListForEventsFunctionsExtension (const gd::EventsFunctionsExtension &extension)
 
static VariablesContainersList MakeNewVariablesContainersListForFreeEventsFunction (const gd::EventsFunctionsExtension &extension, const gd::EventsFunction &eventsFunction, gd::VariablesContainer &parameterVariablesContainer)
 
static VariablesContainersList MakeNewVariablesContainersListForBehaviorEventsFunction (const gd::EventsFunctionsExtension &extension, const gd::EventsBasedBehavior &eventsBasedBehavior, const gd::EventsFunction &eventsFunction, gd::VariablesContainer &parameterVariablesContainer, gd::VariablesContainer &propertyVariablesContainer)
 
static VariablesContainersList MakeNewVariablesContainersListForObjectEventsFunction (const gd::EventsFunctionsExtension &extension, const gd::EventsBasedObject &eventsBasedObject, const gd::EventsFunction &eventsFunction, gd::VariablesContainer &parameterVariablesContainer, gd::VariablesContainer &propertyVariablesContainer)
 
static VariablesContainersList MakeNewVariablesContainersListPushing (const VariablesContainersList &variablesContainersList, const gd::VariablesContainer &variablesContainer)
 
static VariablesContainersList MakeNewEmptyVariablesContainersList ()
 

Detailed Description

A list of variables containers, useful for accessing variables in a scoped way.

See also
gd::Variable
gd::Project
gd::Layout

Constructor & Destructor Documentation

◆ VariablesContainersList()

gd::VariablesContainersList::VariablesContainersList ( )
inline

Do not use - should be private but accessible to let Emscripten create a temporary.

Member Function Documentation

◆ GetBottomMostVariablesContainer()

const VariablesContainer* gd::VariablesContainersList::GetBottomMostVariablesContainer ( ) const
inline

Avoid using apart when a scope must be forced.

Get the variables container at the bottom of the scope (so the most "local" one) excluding local variables.

◆ GetTopMostVariablesContainer()

const VariablesContainer* gd::VariablesContainersList::GetTopMostVariablesContainer ( ) const
inline

Avoid using apart when a scope must be forced.

Get the variables container at the top of the scope (so the most "global" one).

◆ GetVariablesContainer()

const gd::VariablesContainer& gd::VariablesContainersList::GetVariablesContainer ( std::size_t  index) const
inline

Get the variable container at the specified index in the list.

Warning
Trying to access to a not existing variable container will result in undefined behavior.

◆ GetVariablesContainerFromVariableNameOnly()

const VariablesContainer & gd::VariablesContainersList::GetVariablesContainerFromVariableNameOnly ( const gd::String variableName) const

Get the variables container for a given variable.

◆ GetVariablesContainerFromVariableOrPropertyName()

const VariablesContainer & gd::VariablesContainersList::GetVariablesContainerFromVariableOrPropertyName ( const gd::String variableName) const

Get the variables container for a given variable or property.

◆ GetVariablesContainerFromVariableOrPropertyOrParameterName()

const VariablesContainer & gd::VariablesContainersList::GetVariablesContainerFromVariableOrPropertyOrParameterName ( const gd::String variableName) const

Get the variables container for a given variable or property or parameter.

◆ GetVariablesContainerPositionFromVariableName()

std::size_t gd::VariablesContainersList::GetVariablesContainerPositionFromVariableName ( const gd::String variableName) const

Get the variables container index for a given variable.

◆ MakeNewEmptyVariablesContainersList()

VariablesContainersList gd::VariablesContainersList::MakeNewEmptyVariablesContainersList ( )
static
Deprecated:
Use another method for an explicit context instead.

The documentation for this class was generated from the following files: