mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-07-28 05:13:43 +00:00
Added g_ScriptingHost.[GS]etObjectProperty_Double, as a randomly useful function
This was SVN commit r1110.
This commit is contained in:
@@ -126,7 +126,7 @@ jsval ScriptingHost::CallFunction(const std::string & functionName, jsval * para
|
||||
return result;
|
||||
}
|
||||
|
||||
jsval ScriptingHost::ExecuteScript( const CStr16& script, const CStr16& calledFrom, JSObject* contextObject )
|
||||
jsval ScriptingHost::ExecuteScript(const CStrW& script, const CStrW& calledFrom, JSObject* contextObject )
|
||||
{
|
||||
jsval rval;
|
||||
|
||||
@@ -229,6 +229,8 @@ JSObject * ScriptingHost::CreateCustomObject(const std::string & typeName)
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
void ScriptingHost::SetObjectProperty(JSObject * object, const std::string & propertyName, jsval value)
|
||||
{
|
||||
JS_SetProperty(m_Context, object, propertyName.c_str(), &value);
|
||||
@@ -241,6 +243,34 @@ jsval ScriptingHost::GetObjectProperty( JSObject* object, const std::string& pro
|
||||
return( vp );
|
||||
}
|
||||
|
||||
|
||||
|
||||
void ScriptingHost::SetObjectProperty_Double(JSObject* object, const char* propertyName, double value)
|
||||
{
|
||||
jsdouble* d = JS_NewDouble(m_Context, value);
|
||||
if (! d)
|
||||
throw PSERROR_Scripting_ConversionFailed();
|
||||
|
||||
jsval v = DOUBLE_TO_JSVAL(d);
|
||||
|
||||
if (! JS_SetProperty(m_Context, object, propertyName, &v))
|
||||
throw PSERROR_Scripting_ConversionFailed();
|
||||
}
|
||||
|
||||
double ScriptingHost::GetObjectProperty_Double(JSObject* object, const char* propertyName)
|
||||
{
|
||||
jsval v;
|
||||
double d;
|
||||
|
||||
if (! JS_GetProperty(m_Context, object, propertyName, &v))
|
||||
throw PSERROR_Scripting_ConversionFailed();
|
||||
if (! JS_ValueToNumber(m_Context, v, &d))
|
||||
throw PSERROR_Scripting_ConversionFailed();
|
||||
return d;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void ScriptingHost::SetGlobal(const std::string &globalName, jsval value)
|
||||
{
|
||||
JS_SetProperty(m_Context, m_GlobalObject, globalName.c_str(), &value);
|
||||
|
||||
Reference in New Issue
Block a user