Exemplo n.º 1
0
void GDMonoProperty::set_value(MonoObject *p_object, void **p_params, MonoObject **r_exc) {
	MonoObject *exc = NULL;
	mono_property_set_value(mono_property, p_object, p_params, &exc);

	if (exc) {
		if (r_exc) {
			*r_exc = exc;
		} else {
			GDMonoUtils::print_unhandled_exception(exc);
		}
	}
}
Exemplo n.º 2
0
void CScriptClass::SetPropertyValue(mono::object object, const char *propertyName, mono::object newValue, bool throwOnFail)
{
	MonoProperty *pProperty = GetMonoProperty(propertyName, true);
	if(pProperty)
	{
		void *args[1];
		args[0] = newValue;

		mono_property_set_value(pProperty, object, args, nullptr);
	}
	else if(throwOnFail)
		GetMonoScriptSystem()->GetCorlibAssembly()->GetException("System", "MissingMemberException", "Failed to locate property %s in class %s", propertyName, GetName())->Throw();
}
Exemplo n.º 3
0
void ml_set_prop_string(MonoObject *obj, char *field, char *data)
{
	MonoClass *klass;
	MonoProperty *prop;
	MonoString *str;
	gpointer args[1];

	klass = mono_object_get_class(obj);

	prop = mono_class_get_property_from_name(klass, field);

	str = mono_string_new(ml_get_domain(), data);

	args[0] = str;

	mono_property_set_value(prop, obj, args, NULL);
}
Exemplo n.º 4
0
void property_set_value(MonoProperty *p_prop, void *p_obj, void **p_params, MonoException **p_exc) {
	GD_MONO_BEGIN_RUNTIME_INVOKE;
	mono_property_set_value(p_prop, p_obj, p_params, (MonoObject **)p_exc);
	GD_MONO_END_RUNTIME_INVOKE;
}