BsScriptStringTable.generated.cpp 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. #include "BsScriptStringTable.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Localization/BsStringTable.h"
  6. #include "BsScriptResourceManager.h"
  7. #include "BsScriptStringTable.generated.h"
  8. namespace bs
  9. {
  10. ScriptStringTable::ScriptStringTable(MonoObject* managedInstance, const ResourceHandle<StringTable>& value)
  11. :TScriptResource(managedInstance, value)
  12. {
  13. }
  14. void ScriptStringTable::initRuntimeData()
  15. {
  16. metaData.scriptClass->addInternalCall("Internal_contains", (void*)&ScriptStringTable::Internal_contains);
  17. metaData.scriptClass->addInternalCall("Internal_getNumStrings", (void*)&ScriptStringTable::Internal_getNumStrings);
  18. metaData.scriptClass->addInternalCall("Internal_getIdentifiers", (void*)&ScriptStringTable::Internal_getIdentifiers);
  19. metaData.scriptClass->addInternalCall("Internal_setString", (void*)&ScriptStringTable::Internal_setString);
  20. metaData.scriptClass->addInternalCall("Internal_getString", (void*)&ScriptStringTable::Internal_getString);
  21. metaData.scriptClass->addInternalCall("Internal_removeString", (void*)&ScriptStringTable::Internal_removeString);
  22. metaData.scriptClass->addInternalCall("Internal_create", (void*)&ScriptStringTable::Internal_create);
  23. }
  24. MonoObject*ScriptStringTable::createInstance()
  25. {
  26. bool dummy = false;
  27. void* ctorParams[1] = { &dummy };
  28. return metaData.scriptClass->createInstance("bool", ctorParams);
  29. }
  30. bool ScriptStringTable::Internal_contains(ScriptStringTable* thisPtr, MonoString* identifier)
  31. {
  32. bool tmp__output;
  33. String tmpidentifier;
  34. tmpidentifier = MonoUtil::monoToString(identifier);
  35. tmp__output = thisPtr->getHandle()->contains(tmpidentifier);
  36. bool __output;
  37. __output = tmp__output;
  38. return __output;
  39. }
  40. uint32_t ScriptStringTable::Internal_getNumStrings(ScriptStringTable* thisPtr)
  41. {
  42. uint32_t tmp__output;
  43. tmp__output = thisPtr->getHandle()->getNumStrings();
  44. uint32_t __output;
  45. __output = tmp__output;
  46. return __output;
  47. }
  48. MonoArray* ScriptStringTable::Internal_getIdentifiers(ScriptStringTable* thisPtr)
  49. {
  50. Vector<String> vec__output;
  51. vec__output = thisPtr->getHandle()->getIdentifiers();
  52. MonoArray* __output;
  53. int arraySize__output = (int)vec__output.size();
  54. ScriptArray array__output = ScriptArray::create<String>(arraySize__output);
  55. for(int i = 0; i < arraySize__output; i++)
  56. {
  57. array__output.set(i, vec__output[i]);
  58. }
  59. __output = array__output.getInternal();
  60. return __output;
  61. }
  62. void ScriptStringTable::Internal_setString(ScriptStringTable* thisPtr, MonoString* identifier, Language language, MonoString* value)
  63. {
  64. String tmpidentifier;
  65. tmpidentifier = MonoUtil::monoToString(identifier);
  66. String tmpvalue;
  67. tmpvalue = MonoUtil::monoToString(value);
  68. thisPtr->getHandle()->setString(tmpidentifier, language, tmpvalue);
  69. }
  70. MonoString* ScriptStringTable::Internal_getString(ScriptStringTable* thisPtr, MonoString* identifier, Language language)
  71. {
  72. String tmp__output;
  73. String tmpidentifier;
  74. tmpidentifier = MonoUtil::monoToString(identifier);
  75. tmp__output = thisPtr->getHandle()->getString(tmpidentifier, language);
  76. MonoString* __output;
  77. __output = MonoUtil::stringToMono(tmp__output);
  78. return __output;
  79. }
  80. void ScriptStringTable::Internal_removeString(ScriptStringTable* thisPtr, MonoString* identifier)
  81. {
  82. String tmpidentifier;
  83. tmpidentifier = MonoUtil::monoToString(identifier);
  84. thisPtr->getHandle()->removeString(tmpidentifier);
  85. }
  86. void ScriptStringTable::Internal_create(MonoObject* managedInstance)
  87. {
  88. ResourceHandle<StringTable> instance = StringTable::create();
  89. ScriptResourceManager::instance().createBuiltinScriptResource(instance, managedInstance);
  90. }
  91. }