本文整理汇总了C++中ScValue::setValue方法的典型用法代码示例。如果您正苦于以下问题:C++ ScValue::setValue方法的具体用法?C++ ScValue::setValue怎么用?C++ ScValue::setValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ScValue
的用法示例。
在下文中一共展示了ScValue::setValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: executeInstruction
//.........这里部分代码省略.........
break;
case II_PUSH_VAR: {
ScValue *var = getVar(_symbols[getDWORD()]);
if (false && /*var->_type==VAL_OBJECT ||*/ var->_type == VAL_NATIVE) {
_operand->setReference(var);
_stack->push(_operand);
} else {
_stack->push(var);
}
break;
}
case II_PUSH_VAR_REF: {
ScValue *var = getVar(_symbols[getDWORD()]);
_operand->setReference(var);
_stack->push(_operand);
break;
}
case II_POP_VAR: {
char *varName = _symbols[getDWORD()];
ScValue *var = getVar(varName);
if (var) {
ScValue *val = _stack->pop();
if (!val) {
runtimeError("Script stack corruption detected. Please report this script at WME bug reports forum.");
var->setNULL();
} else {
if (val->getType() == VAL_VARIABLE_REF) {
val = val->_valRef;
}
if (val->_type == VAL_NATIVE) {
var->setValue(val);
} else {
var->copy(val);
}
}
}
break;
}
case II_PUSH_VAR_THIS:
_stack->push(_thisStack->getTop());
break;
case II_PUSH_INT:
_stack->pushInt((int)getDWORD());
break;
case II_PUSH_FLOAT:
_stack->pushFloat(getFloat());
break;
case II_PUSH_BOOL:
_stack->pushBool(getDWORD() != 0);
break;
case II_PUSH_STRING:
_stack->pushString(getString());
break;
case II_PUSH_NULL: