BsScriptResource.cpp 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #include "BsScriptResource.h"
  2. #include "BsScriptResourceManager.h"
  3. namespace BansheeEngine
  4. {
  5. ScriptResourceBase::ScriptResourceBase(MonoObject* instance)
  6. :PersistentScriptObjectBase(instance), mRefreshInProgress(false)
  7. { }
  8. ScriptObjectBackup ScriptResourceBase::beginRefresh()
  9. {
  10. mRefreshInProgress = true;
  11. return PersistentScriptObjectBase::beginRefresh();
  12. }
  13. void ScriptResourceBase::endRefresh(const ScriptObjectBackup& backupData)
  14. {
  15. mRefreshInProgress = false;
  16. PersistentScriptObjectBase::endRefresh(backupData);
  17. }
  18. void ScriptResourceBase::destroy()
  19. {
  20. mManagedInstance = nullptr;
  21. if (!mRefreshInProgress)
  22. ScriptResourceManager::instance().destroyScriptResource(this);
  23. }
  24. void ScriptResource::initRuntimeData()
  25. {
  26. }
  27. ScriptResourceType ScriptResource::getTypeFromTypeId(UINT32 typeId)
  28. {
  29. switch (typeId)
  30. {
  31. case TID_Texture:
  32. return ScriptResourceType::Texture;
  33. case TID_SpriteTexture:
  34. return ScriptResourceType::SpriteTexture;
  35. case TID_Mesh:
  36. return ScriptResourceType::Mesh;
  37. case TID_Shader:
  38. return ScriptResourceType::Shader;
  39. case TID_Material:
  40. return ScriptResourceType::Material;
  41. case TID_Font:
  42. return ScriptResourceType::Font;
  43. case TID_Prefab:
  44. return ScriptResourceType::Prefab;
  45. case TID_StringTable:
  46. return ScriptResourceType::StringTable;
  47. case TID_PlainText:
  48. return ScriptResourceType::PlainText;
  49. case TID_ScriptCode:
  50. return ScriptResourceType::ScriptCode;
  51. case TID_GUISkin:
  52. return ScriptResourceType::GUISkin;
  53. }
  54. return ScriptResourceType::Undefined;
  55. }
  56. UINT32 ScriptResource::getTypeIdFromType(ScriptResourceType type)
  57. {
  58. switch (type)
  59. {
  60. case ScriptResourceType::Texture:
  61. return TID_Texture;
  62. case ScriptResourceType::SpriteTexture:
  63. return TID_SpriteTexture;
  64. case ScriptResourceType::Mesh:
  65. return TID_Mesh;
  66. case ScriptResourceType::Shader:
  67. return TID_Shader;
  68. case ScriptResourceType::Font:
  69. return TID_Font;
  70. case ScriptResourceType::Material:
  71. return TID_Material;
  72. case ScriptResourceType::Prefab:
  73. return TID_Prefab;
  74. case ScriptResourceType::StringTable:
  75. return TID_StringTable;
  76. case ScriptResourceType::PlainText:
  77. return TID_PlainText;
  78. case ScriptResourceType::ScriptCode:
  79. return TID_ScriptCode;
  80. case ScriptResourceType::GUISkin:
  81. return TID_GUISkin;
  82. }
  83. return 0;
  84. }
  85. }