BsScriptVirtualButton.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "Wrappers/BsScriptVirtualButton.h"
  4. #include "BsMonoManager.h"
  5. #include "BsMonoClass.h"
  6. #include "BsMonoUtil.h"
  7. namespace bs
  8. {
  9. ScriptVirtualButton::ScriptVirtualButton(MonoObject* instance)
  10. :ScriptObject(instance)
  11. { }
  12. void ScriptVirtualButton::initRuntimeData()
  13. {
  14. metaData.scriptClass->addInternalCall("Internal_InitVirtualButton", (void*)&ScriptVirtualButton::internal_InitVirtualButton);
  15. }
  16. UINT32 ScriptVirtualButton::internal_InitVirtualButton(MonoString* name)
  17. {
  18. String nameStr = MonoUtil::monoToString(name);
  19. VirtualButton vb(nameStr);
  20. return vb.buttonIdentifier;
  21. }
  22. MonoObject* ScriptVirtualButton::box(const VirtualButton& value)
  23. {
  24. // We're casting away const but it's fine since structs are passed by value anyway
  25. return MonoUtil::box(metaData.scriptClass->_getInternalClass(), (void*)&value);
  26. }
  27. VirtualButton ScriptVirtualButton::unbox(MonoObject* obj)
  28. {
  29. return *(VirtualButton*)MonoUtil::unbox(obj);
  30. }
  31. }