BsScriptEditorBuiltin.cpp 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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_GetLibraryItemIcon", &ScriptEditorBuiltin::internal_getLibraryItemIcon);
  16. metaData.scriptClass->addInternalCall("Internal_GetXBtnIcon", &ScriptEditorBuiltin::internal_getXBtnIcon);
  17. metaData.scriptClass->addInternalCall("Internal_GetEmptyShaderCode", &ScriptEditorBuiltin::internal_GetEmptyShaderCode);
  18. metaData.scriptClass->addInternalCall("Internal_GetEmptyCSScriptCode", &ScriptEditorBuiltin::internal_GetEmptyCSScriptCode);
  19. metaData.scriptClass->addInternalCall("Internal_GetToolbarIcon", &ScriptEditorBuiltin::internal_GetToolbarIcon);
  20. metaData.scriptClass->addInternalCall("Internal_GetLibraryWindowIcon", &ScriptEditorBuiltin::internal_GetLibraryWindowIcon);
  21. metaData.scriptClass->addInternalCall("Internal_GetInspectorWindowIcon", &ScriptEditorBuiltin::internal_GetInspectorWindowIcon);
  22. metaData.scriptClass->addInternalCall("Internal_GetSceneWindowIcon", &ScriptEditorBuiltin::internal_GetSceneWindowIcon);
  23. metaData.scriptClass->addInternalCall("Internal_GetLogIcon", &ScriptEditorBuiltin::internal_GetLogIcon);
  24. }
  25. MonoObject* ScriptEditorBuiltin::internal_getLibraryItemIcon(ProjectIcon icon, int size)
  26. {
  27. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(icon, size);
  28. return ScriptSpriteTexture::toManaged(tex);
  29. }
  30. MonoObject* ScriptEditorBuiltin::internal_getXBtnIcon()
  31. {
  32. HSpriteTexture tex = BuiltinEditorResources::instance().getIcon(EditorIcon::XBtn);
  33. return ScriptSpriteTexture::toManaged(tex);
  34. }
  35. MonoString* ScriptEditorBuiltin::internal_GetEmptyShaderCode()
  36. {
  37. WString code = BuiltinEditorResources::instance().getEmptyShaderCode();
  38. return MonoUtil::wstringToMono(MonoManager::instance().getDomain(), code);
  39. }
  40. MonoString* ScriptEditorBuiltin::internal_GetEmptyCSScriptCode()
  41. {
  42. WString code = BuiltinEditorResources::instance().getEmptyCSScriptCode();
  43. return MonoUtil::wstringToMono(MonoManager::instance().getDomain(), code);
  44. }
  45. MonoObject* ScriptEditorBuiltin::internal_GetToolbarIcon(ToolbarIcon icon)
  46. {
  47. HSpriteTexture tex = BuiltinEditorResources::instance().getToolbarIcon(icon);
  48. return ScriptSpriteTexture::toManaged(tex);
  49. }
  50. MonoObject* ScriptEditorBuiltin::internal_GetLibraryWindowIcon(LibraryWindowIcon icon)
  51. {
  52. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryWindowIcon(icon);
  53. return ScriptSpriteTexture::toManaged(tex);
  54. }
  55. MonoObject* ScriptEditorBuiltin::internal_GetInspectorWindowIcon(InspectorWindowIcon icon)
  56. {
  57. HSpriteTexture tex = BuiltinEditorResources::instance().getInspectorWindowIcon(icon);
  58. return ScriptSpriteTexture::toManaged(tex);
  59. }
  60. MonoObject* ScriptEditorBuiltin::internal_GetSceneWindowIcon(SceneWindowIcon icon)
  61. {
  62. HSpriteTexture tex = BuiltinEditorResources::instance().getSceneWindowIcon(icon);
  63. return ScriptSpriteTexture::toManaged(tex);
  64. }
  65. MonoObject* ScriptEditorBuiltin::internal_GetLogIcon(LogMessageIcon icon, int size)
  66. {
  67. HSpriteTexture tex = BuiltinEditorResources::instance().getLogMessageIcon(icon, size);
  68. return ScriptSpriteTexture::toManaged(tex);
  69. }
  70. }