BsMonoProperty.cpp 648 B

1234567891011121314151617181920212223242526
  1. #include "BsMonoProperty.h"
  2. #include "BsMonoMethod.h"
  3. using namespace CamelotFramework;
  4. namespace BansheeEngine
  5. {
  6. MonoProperty::MonoProperty(::MonoProperty* monoProp)
  7. :mProperty(monoProp)
  8. {
  9. mGetMethod = mono_property_get_get_method(mProperty);
  10. mSetMethod = mono_property_get_set_method(mProperty);
  11. }
  12. MonoObject* MonoProperty::get(MonoObject* instance) const
  13. {
  14. return mono_runtime_invoke(mGetMethod, instance, nullptr, nullptr);
  15. }
  16. void MonoProperty::set(MonoObject* instance, MonoObject* value) const
  17. {
  18. void* args[1];
  19. args[0] = value;
  20. mono_runtime_invoke(mSetMethod, instance, args, nullptr);
  21. }
  22. }