BsScriptStringTableManager.generated.cpp 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #include "BsScriptStringTableManager.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Localization/BsStringTableManager.h"
  6. #include "BsScriptResourceManager.h"
  7. #include "Wrappers/BsScriptRRefBase.h"
  8. #include "../../../bsf/Source/Foundation/bsfCore/Localization/BsStringTable.h"
  9. namespace bs
  10. {
  11. ScriptStringTableManager::ScriptStringTableManager(MonoObject* managedInstance)
  12. :ScriptObject(managedInstance)
  13. {
  14. }
  15. void ScriptStringTableManager::initRuntimeData()
  16. {
  17. metaData.scriptClass->addInternalCall("Internal_setActiveLanguage", (void*)&ScriptStringTableManager::Internal_setActiveLanguage);
  18. metaData.scriptClass->addInternalCall("Internal_getActiveLanguage", (void*)&ScriptStringTableManager::Internal_getActiveLanguage);
  19. metaData.scriptClass->addInternalCall("Internal_getTable", (void*)&ScriptStringTableManager::Internal_getTable);
  20. metaData.scriptClass->addInternalCall("Internal_removeTable", (void*)&ScriptStringTableManager::Internal_removeTable);
  21. metaData.scriptClass->addInternalCall("Internal_setTable", (void*)&ScriptStringTableManager::Internal_setTable);
  22. }
  23. void ScriptStringTableManager::Internal_setActiveLanguage(Language language)
  24. {
  25. StringTableManager::instance().setActiveLanguage(language);
  26. }
  27. Language ScriptStringTableManager::Internal_getActiveLanguage()
  28. {
  29. Language tmp__output;
  30. tmp__output = StringTableManager::instance().getActiveLanguage();
  31. Language __output;
  32. __output = tmp__output;
  33. return __output;
  34. }
  35. MonoObject* ScriptStringTableManager::Internal_getTable(uint32_t id)
  36. {
  37. ResourceHandle<StringTable> tmp__output;
  38. tmp__output = StringTableManager::instance().getTable(id);
  39. MonoObject* __output;
  40. ScriptRRefBase* script__output;
  41. script__output = ScriptResourceManager::instance().getScriptRRef(tmp__output);
  42. if(script__output != nullptr)
  43. __output = script__output->getManagedInstance();
  44. else
  45. __output = nullptr;
  46. return __output;
  47. }
  48. void ScriptStringTableManager::Internal_removeTable(uint32_t id)
  49. {
  50. StringTableManager::instance().removeTable(id);
  51. }
  52. void ScriptStringTableManager::Internal_setTable(uint32_t id, MonoObject* table)
  53. {
  54. ResourceHandle<StringTable> tmptable;
  55. ScriptRRefBase* scripttable;
  56. scripttable = ScriptRRefBase::toNative(table);
  57. if(scripttable != nullptr)
  58. tmptable = static_resource_cast<StringTable>(scripttable->getHandle());
  59. StringTableManager::instance().setTable(id, tmptable);
  60. }
  61. }