本文整理汇总了C++中ScValue::setProperty方法的典型用法代码示例。如果您正苦于以下问题:C++ ScValue::setProperty方法的具体用法?C++ ScValue::setProperty怎么用?C++ ScValue::setProperty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ScValue
的用法示例。
在下文中一共展示了ScValue::setProperty方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: scCallMethod
//////////////////////////////////////////////////////////////////////////
// high level scripting interface
//////////////////////////////////////////////////////////////////////////
bool BaseRegion::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack, const char *name) {
//////////////////////////////////////////////////////////////////////////
// AddPoint
//////////////////////////////////////////////////////////////////////////
if (strcmp(name, "AddPoint") == 0) {
stack->correctParams(2);
int x = stack->pop()->getInt();
int y = stack->pop()->getInt();
_points.add(new BasePoint(x, y));
createRegion();
stack->pushBool(true);
return STATUS_OK;
}
//////////////////////////////////////////////////////////////////////////
// InsertPoint
//////////////////////////////////////////////////////////////////////////
else if (strcmp(name, "InsertPoint") == 0) {
stack->correctParams(3);
int index = stack->pop()->getInt();
int x = stack->pop()->getInt();
int y = stack->pop()->getInt();
if (index >= 0 && index < (int32)_points.size()) {
_points.insert_at(index, new BasePoint(x, y));
createRegion();
stack->pushBool(true);
} else {
stack->pushBool(false);
}
return STATUS_OK;
}
//////////////////////////////////////////////////////////////////////////
// SetPoint
//////////////////////////////////////////////////////////////////////////
else if (strcmp(name, "SetPoint") == 0) {
stack->correctParams(3);
int index = stack->pop()->getInt();
int x = stack->pop()->getInt();
int y = stack->pop()->getInt();
if (index >= 0 && index < (int32)_points.size()) {
_points[index]->x = x;
_points[index]->y = y;
createRegion();
stack->pushBool(true);
} else {
stack->pushBool(false);
}
return STATUS_OK;
}
//////////////////////////////////////////////////////////////////////////
// RemovePoint
//////////////////////////////////////////////////////////////////////////
else if (strcmp(name, "RemovePoint") == 0) {
stack->correctParams(1);
int index = stack->pop()->getInt();
if (index >= 0 && index < (int32)_points.size()) {
delete _points[index];
_points[index] = nullptr;
_points.remove_at(index);
createRegion();
stack->pushBool(true);
} else {
stack->pushBool(false);
}
return STATUS_OK;
}
//////////////////////////////////////////////////////////////////////////
// GetPoint
//////////////////////////////////////////////////////////////////////////
else if (strcmp(name, "GetPoint") == 0) {
stack->correctParams(1);
int index = stack->pop()->getInt();
if (index >= 0 && index < (int32)_points.size()) {
ScValue *val = stack->getPushValue();
if (val) {
val->setProperty("X", _points[index]->x);
val->setProperty("Y", _points[index]->y);
}
} else {
//.........这里部分代码省略.........