GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
|
Defines a variable which can be used by an object, a layout or a project. More...
#include <Variable.h>
Public Types | |
enum | Type { Unknown , MixedTypes , String , Number , Boolean , Structure , Array } |
Public Member Functions | |
Variable () | |
Default constructor creating a variable with 0 as value. | |
Variable (const Variable &) | |
Variable & | operator= (const Variable &rhs) |
Type | GetType () const |
Get the type of the variable. | |
void | CastTo (const Type newType) |
Converts the variable to a new type. | |
void | CastTo (const gd::String &type) |
Converts the variable to a new type. | |
Primitives | |
Methods and operators used when the variable is considered as a primitive. | |
const gd::String & | GetString () const |
Return the content of the variable, considered as a string. | |
void | SetString (const gd::String &newStr) |
Change the content of the variable, considered as a string. | |
double | GetValue () const |
Return the content of the variable, considered as a number. | |
void | SetValue (double val) |
Change the content of the variable, considered as a number. | |
bool | GetBool () const |
Return the content of the variable, considered as a boolean. | |
void | SetBool (bool val) |
Change the content of the variable, considered as a boolean. | |
bool | HasMixedValues () const |
Return true when objects of a group have different values for a variable. | |
void | MarkAsMixedValues () |
Return true when objects of a group have different values for a variable. | |
void | operator= (double val) |
void | operator+= (double val) |
void | operator-= (double val) |
void | operator*= (double val) |
void | operator/= (double val) |
bool | operator<= (double val) const |
bool | operator>= (double val) const |
bool | operator< (double val) const |
bool | operator> (double val) const |
bool | operator== (double val) const |
bool | operator!= (double val) const |
void | operator= (int val) |
void | operator+= (int val) |
void | operator-= (int val) |
void | operator*= (int val) |
void | operator/= (int val) |
bool | operator<= (int val) const |
bool | operator>= (int val) const |
bool | operator< (int val) const |
bool | operator> (int val) const |
bool | operator== (int val) const |
bool | operator!= (int val) const |
void | operator= (const gd::String &val) |
void | operator+= (const gd::String &val) |
bool | operator== (const gd::String &val) const |
bool | operator!= (const gd::String &val) const |
void | operator= (const char *val) |
void | operator+= (const char *val) |
bool | operator== (const char *val) const |
bool | operator!= (const char *val) const |
void | operator= (const bool val) |
bool | operator== (const bool val) const |
bool | operator!= (const bool val) const |
bool | operator== (const gd::Variable &variable) const |
bool | operator!= (const gd::Variable &variable) const |
Collection types | |
Methods used for collection types | |
void | ClearChildren () |
Remove all the children. | |
size_t | GetChildrenCount () const |
Get the count of children that the variable has. | |
Structure | |
Methods used when the variable is considered as a structure. | |
bool | HasChild (const gd::String &name) const |
Return true if the variable is a structure and has the specified child. | |
Variable & | GetChild (const gd::String &name) |
Return the child with the specified name. More... | |
const Variable & | GetChild (const gd::String &name) const |
Return the child with the specified name. More... | |
void | RemoveChild (const gd::String &name) |
Remove the child with the specified name. More... | |
bool | RenameChild (const gd::String &oldName, const gd::String &newName) |
Rename the specified child. More... | |
std::vector< gd::String > | GetAllChildrenNames () const |
Get the names of all children. | |
const std::map< gd::String, std::shared_ptr< Variable > > & | GetAllChildren () const |
Get the map containing all the children. | |
bool | Contains (const gd::Variable &variableToSearch, bool recursive) const |
Search if a variable is part of the children, optionally recursively. | |
void | RemoveRecursively (const gd::Variable &variableToRemove) |
Remove the specified variable if it can be found in the children. | |
Array | |
Methods used when the variable is considered as an array. | |
Variable & | GetAtIndex (const size_t index) |
Return the element with the specified index. More... | |
const Variable & | GetAtIndex (const size_t index) const |
Return the element with the specified index. More... | |
Variable & | PushNew () |
Appends a new variable at the end of the list and returns it. | |
void | RemoveAtIndex (const size_t index) |
Remove the element with the specified index. More... | |
void | MoveChildInArray (const size_t oldIndex, const size_t newIndex) |
Move child in array. | |
bool | InsertAtIndex (const gd::Variable &variable, const size_t index) |
Insert child in array. | |
bool | InsertChild (const gd::String &name, const gd::Variable &variable) |
Insert a child in a structure. | |
const std::vector< std::shared_ptr< Variable > > & | GetAllChildrenArray () const |
Get the vector containing all the children. | |
void | SetFolded (bool fold=true) |
Set if the children must be folded. | |
bool | IsFolded () const |
True if the children should be folded in the variables editor. | |
Serialization | |
Methods used when to load or save a variable to XML. | |
void | SerializeTo (SerializerElement &element) const |
Serialize variable. | |
void | UnserializeFrom (const SerializerElement &element) |
Unserialize the variable. | |
Variable & | ResetPersistentUuid () |
Reset the persistent UUID used to recognize the same variable between serialization. | |
Variable & | ClearPersistentUuid () |
Remove the persistent UUID - when the variable no longer needs to be recognized between serializations. | |
const gd::String & | GetPersistentUuid () const |
Get the persistent UUID used to recognize the same variable between serialization. | |
Static Public Member Functions | |
static bool | IsPrimitive (const Type type) |
Returns true if the passed type is primitive. | |
Static Public Attributes | |
static gd::Variable | badVariable |
Defines a variable which can be used by an object, a layout or a project.
enum gd::Variable::Type |
Variable & gd::Variable::GetAtIndex | ( | const size_t | index | ) |
Return the element with the specified index.
If the variable does not have the specified index, the array will be filled up to that index with empty variables.
const Variable & gd::Variable::GetAtIndex | ( | const size_t | index | ) | const |
Return the element with the specified index.
If the variable has not the specified child, an empty variable is returned.
Variable & gd::Variable::GetChild | ( | const gd::String & | name | ) |
Return the child with the specified name.
If the variable has not the specified child, an empty variable with the specified name is added as child.
If the variable is not a structure or has not the specified child, an empty variable is returned.
const Variable & gd::Variable::GetChild | ( | const gd::String & | name | ) | const |
Return the child with the specified name.
If the variable has not the specified child, an empty variable with the specified name is added as child.
If the variable is not a structure or has not the specified child, an empty variable is returned.
void gd::Variable::RemoveAtIndex | ( | const size_t | index | ) |
Remove the element with the specified index.
And shifts all the next elements back by one.
void gd::Variable::RemoveChild | ( | const gd::String & | name | ) |
Remove the child with the specified name.
If the variable is not a structure or has not the specified child, nothing is done.
bool gd::Variable::RenameChild | ( | const gd::String & | oldName, |
const gd::String & | newName | ||
) |
Rename the specified child.
If the variable is not a structure or has not the specified child, nothing is done.