BsScriptEditorBuiltin.cpp 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. }
  24. MonoObject* ScriptEditorBuiltin::internal_getLibraryItemIcon(ProjectIcon icon, int size)
  25. {
  26. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryIcon(icon, size);
  27. return ScriptSpriteTexture::toManaged(tex);
  28. }
  29. MonoObject* ScriptEditorBuiltin::internal_getXBtnIcon()
  30. {
  31. HSpriteTexture tex = BuiltinEditorResources::instance().getIcon(EditorIcon::XBtn);
  32. return ScriptSpriteTexture::toManaged(tex);
  33. }
  34. MonoString* ScriptEditorBuiltin::internal_GetEmptyShaderCode()
  35. {
  36. WString code = BuiltinEditorResources::instance().getEmptyShaderCode();
  37. return MonoUtil::wstringToMono(MonoManager::instance().getDomain(), code);
  38. }
  39. MonoString* ScriptEditorBuiltin::internal_GetEmptyCSScriptCode()
  40. {
  41. WString code = BuiltinEditorResources::instance().getEmptyCSScriptCode();
  42. return MonoUtil::wstringToMono(MonoManager::instance().getDomain(), code);
  43. }
  44. MonoObject* ScriptEditorBuiltin::internal_GetToolbarIcon(ToolbarIcon icon)
  45. {
  46. HSpriteTexture tex = BuiltinEditorResources::instance().getToolbarIcon(icon);
  47. return ScriptSpriteTexture::toManaged(tex);
  48. }
  49. MonoObject* ScriptEditorBuiltin::internal_GetLibraryWindowIcon(LibraryWindowIcon icon)
  50. {
  51. HSpriteTexture tex = BuiltinEditorResources::instance().getLibraryWindowIcon(icon);
  52. return ScriptSpriteTexture::toManaged(tex);
  53. }
  54. MonoObject* ScriptEditorBuiltin::internal_GetInspectorWindowIcon(InspectorWindowIcon icon)
  55. {
  56. HSpriteTexture tex = BuiltinEditorResources::instance().getInspectorWindowIcon(icon);
  57. return ScriptSpriteTexture::toManaged(tex);
  58. }
  59. MonoObject* ScriptEditorBuiltin::internal_GetSceneWindowIcon(SceneWindowIcon icon)
  60. {
  61. HSpriteTexture tex = BuiltinEditorResources::instance().getSceneWindowIcon(icon);
  62. return ScriptSpriteTexture::toManaged(tex);
  63. }
  64. }