BsScriptEditorBuiltin.cpp 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. #include "BsScriptEditorBuiltin.h"
  2. #include "BsMonoManager.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoMethod.h"
  5. #include "BsMonoUtil.h"
  6. #include "BsScriptSpriteTexture.h"
  7. #include "BsScriptResourceManager.h"
  8. namespace BansheeEngine
  9. {
  10. ScriptEditorBuiltin::ScriptEditorBuiltin(MonoObject* instance)
  11. :ScriptObject(instance)
  12. { }
  13. void ScriptEditorBuiltin::initRuntimeData()
  14. {
  15. metaData.scriptClass->addInternalCall("Internal_GetFolderIcon", &ScriptEditorBuiltin::internal_getFolderIcon);
  16. metaData.scriptClass->addInternalCall("Internal_GetMeshIcon", &ScriptEditorBuiltin::internal_getMeshIcon);
  17. metaData.scriptClass->addInternalCall("Internal_GetFontIcon", &ScriptEditorBuiltin::internal_getFontIcon);
  18. metaData.scriptClass->addInternalCall("Internal_GetTextureIcon", &ScriptEditorBuiltin::internal_getTextureIcon);
  19. metaData.scriptClass->addInternalCall("Internal_GetPlainTextIcon", &ScriptEditorBuiltin::internal_getPlainTextIcon);
  20. metaData.scriptClass->addInternalCall("Internal_GetScriptCodeIcon", &ScriptEditorBuiltin::internal_getScriptCodeIcon);
  21. metaData.scriptClass->addInternalCall("Internal_GetShaderIcon", &ScriptEditorBuiltin::internal_getShaderIcon);
  22. metaData.scriptClass->addInternalCall("Internal_GetShaderIncludeIcon", &ScriptEditorBuiltin::internal_getShaderIncludeIcon);
  23. metaData.scriptClass->addInternalCall("Internal_GetMaterialIcon", &ScriptEditorBuiltin::internal_getMaterialIcon);
  24. metaData.scriptClass->addInternalCall("Internal_GetSpriteTextureIcon", &ScriptEditorBuiltin::internal_getSpriteTextureIcon);
  25. metaData.scriptClass->addInternalCall("Internal_GetGUISkinIcon", &ScriptEditorBuiltin::internal_getGUISkinIcon);
  26. metaData.scriptClass->addInternalCall("Internal_GetPrefabIcon", &ScriptEditorBuiltin::internal_getPrefabIcon);
  27. metaData.scriptClass->addInternalCall("Internal_GetXBtnIcon", &ScriptEditorBuiltin::internal_getXBtnIcon);
  28. metaData.scriptClass->addInternalCall("Internal_GetEmptyShaderCode", &ScriptEditorBuiltin::internal_GetEmptyShaderCode);
  29. metaData.scriptClass->addInternalCall("Internal_GetEmptyCSScriptCode", &ScriptEditorBuiltin::internal_GetEmptyCSScriptCode);
  30. metaData.scriptClass->addInternalCall("Internal_GetToolbarIcon", &ScriptEditorBuiltin::internal_GetToolbarIcon);
  31. metaData.scriptClass->addInternalCall("Internal_GetLibraryWindowIcon", &ScriptEditorBuiltin::internal_GetLibraryWindowIcon);
  32. metaData.scriptClass->addInternalCall("Internal_GetInspectorWindowIcon", &ScriptEditorBuiltin::internal_GetInspectorWindowIcon);
  33. metaData.scriptClass->addInternalCall("Internal_GetSceneWindowIcon", &ScriptEditorBuiltin::internal_GetSceneWindowIcon);
  34. }
  35. MonoObject* ScriptEditorBuiltin::internal_getFolderIcon()
  36. {
  37. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(ProjectIcon::Folder);
  38. return ScriptSpriteTexture::toManaged(tex);
  39. }
  40. MonoObject* ScriptEditorBuiltin::internal_getMeshIcon()
  41. {
  42. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(ProjectIcon::Mesh);
  43. return ScriptSpriteTexture::toManaged(tex);
  44. }
  45. MonoObject* ScriptEditorBuiltin::internal_getFontIcon()
  46. {
  47. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(ProjectIcon::Font);
  48. return ScriptSpriteTexture::toManaged(tex);
  49. }
  50. MonoObject* ScriptEditorBuiltin::internal_getTextureIcon()
  51. {
  52. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(ProjectIcon::Texture);
  53. return ScriptSpriteTexture::toManaged(tex);
  54. }
  55. MonoObject* ScriptEditorBuiltin::internal_getPlainTextIcon()
  56. {
  57. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(ProjectIcon::PlainText);
  58. return ScriptSpriteTexture::toManaged(tex);
  59. }
  60. MonoObject* ScriptEditorBuiltin::internal_getScriptCodeIcon()
  61. {
  62. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(ProjectIcon::ScriptCode);
  63. return ScriptSpriteTexture::toManaged(tex);
  64. }
  65. MonoObject* ScriptEditorBuiltin::internal_getShaderIcon()
  66. {
  67. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(ProjectIcon::Shader);
  68. return ScriptSpriteTexture::toManaged(tex);
  69. }
  70. MonoObject* ScriptEditorBuiltin::internal_getShaderIncludeIcon()
  71. {
  72. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(ProjectIcon::ShaderInclude);
  73. return ScriptSpriteTexture::toManaged(tex);
  74. }
  75. MonoObject* ScriptEditorBuiltin::internal_getMaterialIcon()
  76. {
  77. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(ProjectIcon::Material);
  78. return ScriptSpriteTexture::toManaged(tex);
  79. }
  80. MonoObject* ScriptEditorBuiltin::internal_getSpriteTextureIcon()
  81. {
  82. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(ProjectIcon::SpriteTexture);
  83. return ScriptSpriteTexture::toManaged(tex);
  84. }
  85. MonoObject* ScriptEditorBuiltin::internal_getGUISkinIcon()
  86. {
  87. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(ProjectIcon::GUISkin);
  88. return ScriptSpriteTexture::toManaged(tex);
  89. }
  90. MonoObject* ScriptEditorBuiltin::internal_getPrefabIcon()
  91. {
  92. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(ProjectIcon::Prefab);
  93. return ScriptSpriteTexture::toManaged(tex);
  94. }
  95. MonoObject* ScriptEditorBuiltin::internal_getXBtnIcon()
  96. {
  97. HSpriteTexture tex = BuiltinEditorResources::instance().getIcon(EditorIcon::XBtn);
  98. return ScriptSpriteTexture::toManaged(tex);
  99. }
  100. MonoString* ScriptEditorBuiltin::internal_GetEmptyShaderCode()
  101. {
  102. WString code = BuiltinEditorResources::instance().getEmptyShaderCode();
  103. return MonoUtil::wstringToMono(MonoManager::instance().getDomain(), code);
  104. }
  105. MonoString* ScriptEditorBuiltin::internal_GetEmptyCSScriptCode()
  106. {
  107. WString code = BuiltinEditorResources::instance().getEmptyCSScriptCode();
  108. return MonoUtil::wstringToMono(MonoManager::instance().getDomain(), code);
  109. }
  110. MonoObject* ScriptEditorBuiltin::internal_GetToolbarIcon(ToolbarIcon icon)
  111. {
  112. HSpriteTexture tex = BuiltinEditorResources::instance().getToolbarIcon(icon);
  113. return ScriptSpriteTexture::toManaged(tex);
  114. }
  115. MonoObject* ScriptEditorBuiltin::internal_GetLibraryWindowIcon(LibraryWindowIcon icon)
  116. {
  117. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryWindowIcon(icon);
  118. return ScriptSpriteTexture::toManaged(tex);
  119. }
  120. MonoObject* ScriptEditorBuiltin::internal_GetInspectorWindowIcon(InspectorWindowIcon icon)
  121. {
  122. HSpriteTexture tex = BuiltinEditorResources::instance().getInspectorWindowIcon(icon);
  123. return ScriptSpriteTexture::toManaged(tex);
  124. }
  125. MonoObject* ScriptEditorBuiltin::internal_GetSceneWindowIcon(SceneWindowIcon icon)
  126. {
  127. HSpriteTexture tex = BuiltinEditorResources::instance().getSceneWindowIcon(icon);
  128. return ScriptSpriteTexture::toManaged(tex);
  129. }
  130. }