BsScriptStringTable.generated.cpp 3.9 KB

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