BsScriptStringTableManager.generated.cpp 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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 "BsScriptStringTable.generated.h"
  8. namespace bs
  9. {
  10. ScriptStringTableManager::ScriptStringTableManager(MonoObject* managedInstance)
  11. :ScriptObject(managedInstance)
  12. {
  13. }
  14. void ScriptStringTableManager::initRuntimeData()
  15. {
  16. metaData.scriptClass->addInternalCall("Internal_setActiveLanguage", (void*)&ScriptStringTableManager::Internal_setActiveLanguage);
  17. metaData.scriptClass->addInternalCall("Internal_getActiveLanguage", (void*)&ScriptStringTableManager::Internal_getActiveLanguage);
  18. metaData.scriptClass->addInternalCall("Internal_getTable", (void*)&ScriptStringTableManager::Internal_getTable);
  19. metaData.scriptClass->addInternalCall("Internal_removeTable", (void*)&ScriptStringTableManager::Internal_removeTable);
  20. metaData.scriptClass->addInternalCall("Internal_setTable", (void*)&ScriptStringTableManager::Internal_setTable);
  21. }
  22. void ScriptStringTableManager::Internal_setActiveLanguage(Language language)
  23. {
  24. StringTableManager::instance().setActiveLanguage(language);
  25. }
  26. Language ScriptStringTableManager::Internal_getActiveLanguage()
  27. {
  28. Language tmp__output;
  29. tmp__output = StringTableManager::instance().getActiveLanguage();
  30. Language __output;
  31. __output = tmp__output;
  32. return __output;
  33. }
  34. MonoObject* ScriptStringTableManager::Internal_getTable(uint32_t id)
  35. {
  36. ResourceHandle<StringTable> tmp__output;
  37. tmp__output = StringTableManager::instance().getTable(id);
  38. MonoObject* __output;
  39. ScriptResourceBase* script__output;
  40. script__output = ScriptResourceManager::instance().getScriptResource(tmp__output, true);
  41. if(script__output != nullptr)
  42. __output = script__output->getManagedInstance();
  43. else
  44. __output = nullptr;
  45. return __output;
  46. }
  47. void ScriptStringTableManager::Internal_removeTable(uint32_t id)
  48. {
  49. StringTableManager::instance().removeTable(id);
  50. }
  51. void ScriptStringTableManager::Internal_setTable(uint32_t id, MonoObject* table)
  52. {
  53. ResourceHandle<StringTable> tmptable;
  54. ScriptStringTable* scripttable;
  55. scripttable = ScriptStringTable::toNative(table);
  56. if(scripttable != nullptr)
  57. tmptable = scripttable->getHandle();
  58. StringTableManager::instance().setTable(id, tmptable);
  59. }
  60. }