1
0
Fork 0

Add: method to call script functions with std::string

pull/10801/head
Rubidium 2023-05-04 22:57:11 +02:00 committed by rubidium42
parent 4a6fdc8293
commit 3d8d99ba11
2 changed files with 10 additions and 0 deletions

View File

@ -442,6 +442,15 @@ bool Squirrel::CallStringMethodStrdup(HSQOBJECT instance, const char *method_nam
return true;
}
bool Squirrel::CallStringMethod(HSQOBJECT instance, const char *method_name, std::string *res, int suspend)
{
HSQOBJECT ret;
if (!this->CallMethod(instance, method_name, &ret, suspend)) return false;
if (ret._type != OT_STRING) return false;
*res = StrMakeValid(ObjectToString(&ret));
return true;
}
bool Squirrel::CallIntegerMethod(HSQOBJECT instance, const char *method_name, int *res, int suspend)
{
HSQOBJECT ret;

View File

@ -160,6 +160,7 @@ public:
bool CallMethod(HSQOBJECT instance, const char *method_name, HSQOBJECT *ret, int suspend);
bool CallMethod(HSQOBJECT instance, const char *method_name, int suspend) { return this->CallMethod(instance, method_name, nullptr, suspend); }
bool CallStringMethodStrdup(HSQOBJECT instance, const char *method_name, const char **res, int suspend);
bool CallStringMethod(HSQOBJECT instance, const char *method_name, const std::string *res, int suspend);
bool CallIntegerMethod(HSQOBJECT instance, const char *method_name, int *res, int suspend);
bool CallBoolMethod(HSQOBJECT instance, const char *method_name, bool *res, int suspend);