22 #include "CBot/CBotVar/CBotVar.h" 25 #include "CBot/CBotToken.h" 37 template <
typename T, CBotType type>
60 std::istringstream s(val);
85 template <
typename T, CBotType type>
91 void SetValInt(
int val,
const std::string &s =
"")
override 93 this->
m_val =
static_cast<T
>(val);
99 this->
m_val =
static_cast<T
>(val);
105 return static_cast<int>(this->
m_val);
110 return static_cast<float>(this->
m_val);
127 template <
typename T, CBotType type>
virtual void SetValFloat(float val)
Set value as float.
Definition: CBotVar.cpp:558
int GetValInt() override
Get value as integer.
Definition: CBotVarValue.h:103
CBotError Modulo(CBotVar *left, CBotVar *right) override
Modulo (remainder of division)
Definition: CBotVarValue.h:148
InitType m_binit
Initialization status.
Definition: CBotVar.h:657
void SetValInt(int val, const std::string &s="") override
Set value as an integer.
Definition: CBotVarValue.h:91
A number variable (int, float)
Definition: CBotVarValue.h:128
bool Eq(CBotVar *left, CBotVar *right) override
left == right
Definition: CBotVarValue.h:114
CBotVarValue(const CBotToken &name)
Constructor. Do not call directly, use CBotVar::Create()
Definition: CBotVarValue.h:44
const std::string & LoadString(TokenId id)
Maps given ID to its string equivalent.
Definition: CBotToken.cpp:124
bool Ls(CBotVar *left, CBotVar *right) override
left <= right
Definition: CBotVarValue.h:185
bool Hi(CBotVar *left, CBotVar *right) override
left > right
Definition: CBotVarValue.h:181
void Inc() override
++this
Definition: CBotVarValue.h:168
A CBot variable.
Definition: CBotVar.h:42
Some enum values used across the CBot engine.
A number based variable (bool, int, float)
Definition: CBotVarValue.h:86
bool Hs(CBotVar *left, CBotVar *right) override
left >= right
Definition: CBotVarValue.h:189
the variable value is currently not defined
virtual float GetValFloat()
Get value as float.
Definition: CBotVar.cpp:545
CBotError
This enum contains possible CBot error values. Values in range 5000-5999 are compile errors...
Definition: CBotEnums.h:190
A variable holding a simple value (bool, int, float, string)
Definition: CBotVarValue.h:38
CBotError Div(CBotVar *left, CBotVar *right) override
Division.
Definition: CBotVarValue.h:141
CBotTypResult m_type
Type of value.
Definition: CBotVar.h:655
T m_val
The value.
Definition: CBotVarValue.h:79
void Sub(CBotVar *left, CBotVar *right) override
Subtraction.
Definition: CBotVarValue.h:159
virtual void Copy(CBotVar *pSrc, bool bName=true)
Copy from another variable.
Definition: CBotVar.cpp:704
void SetValString(const std::string &val) override
Set value as string.
Definition: CBotVarValue.h:58
division by zero
Definition: CBotEnums.h:241
bool Lo(CBotVar *left, CBotVar *right) override
left < right
Definition: CBotVarValue.h:177
void Dec() override
–this
Definition: CBotVarValue.h:172
void Copy(CBotVar *pSrc, bool bName=true) override
Copy from another variable.
Definition: CBotVarValue.h:49
float GetValFloat() override
Get value as float.
Definition: CBotVarValue.h:108
the variable value is defined
void Add(CBotVar *left, CBotVar *right) override
Addition.
Definition: CBotVarValue.h:155
CBot engine.
Definition: CBotCallMethode.cpp:28
the variable value is NAN
std::string GetValString() override
Get value as string.
Definition: CBotVarValue.h:65
void SetValFloat(float val) override
Set value as float.
Definition: CBotVarValue.h:97
Class representing one token of a program.
Definition: CBotToken.h:80
void Neg() override
-this
Definition: CBotVarValue.h:164
void Mul(CBotVar *left, CBotVar *right) override
Multiplication.
Definition: CBotVarValue.h:133
bool Ne(CBotVar *left, CBotVar *right) override
left != right
Definition: CBotVarValue.h:118
void Power(CBotVar *left, CBotVar *right) override
Power.
Definition: CBotVarValue.h:137