BsScriptVirtualButton.cpp 994 B

123456789101112131415161718192021222324252627282930313233343536
  1. #include "BsScriptVirtualButton.h"
  2. #include "BsMonoManager.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. namespace BansheeEngine
  6. {
  7. ScriptVirtualButton::ScriptVirtualButton(MonoObject* instance)
  8. :ScriptObject(instance)
  9. { }
  10. void ScriptVirtualButton::initRuntimeData()
  11. {
  12. metaData.scriptClass->addInternalCall("Internal_InitVirtualButton", &ScriptVirtualButton::internal_InitVirtualButton);
  13. }
  14. UINT32 ScriptVirtualButton::internal_InitVirtualButton(MonoString* name)
  15. {
  16. String nameStr = MonoUtil::monoToString(name);
  17. VirtualButton vb(nameStr);
  18. return vb.buttonIdentifier;
  19. }
  20. MonoObject* ScriptVirtualButton::box(const VirtualButton& value)
  21. {
  22. // We're casting away const but it's fine since structs are passed by value anyway
  23. return mono_value_box(MonoManager::instance().getDomain(),
  24. metaData.scriptClass->_getInternalClass(), (void*)&value);
  25. }
  26. VirtualButton ScriptVirtualButton::unbox(MonoObject* obj)
  27. {
  28. return *(VirtualButton*)mono_object_unbox(obj);
  29. }
  30. }