BsScriptCode.cpp 938 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include "BsScriptCode.h"
  2. #include "BsResources.h"
  3. #include "BsScriptCodeRTTI.h"
  4. namespace BansheeEngine
  5. {
  6. ScriptCode::ScriptCode(const WString& data, bool editorScript)
  7. :Resource(false), mString(data), mEditorScript(editorScript)
  8. {
  9. }
  10. HScriptCode ScriptCode::create(const WString& data, bool editorScript)
  11. {
  12. return static_resource_cast<ScriptCode>(gResources()._createResourceHandle(_createPtr(data, editorScript)));
  13. }
  14. ScriptCodePtr ScriptCode::_createPtr(const WString& data, bool editorScript)
  15. {
  16. ScriptCodePtr scriptCodePtr = bs_core_ptr<ScriptCode, PoolAlloc>(
  17. new (bs_alloc<ScriptCode, PoolAlloc>()) ScriptCode(data, editorScript));
  18. scriptCodePtr->_setThisPtr(scriptCodePtr);
  19. scriptCodePtr->initialize();
  20. return scriptCodePtr;
  21. }
  22. RTTITypeBase* ScriptCode::getRTTIStatic()
  23. {
  24. return ScriptCodeRTTI::instance();
  25. }
  26. RTTITypeBase* ScriptCode::getRTTI() const
  27. {
  28. return ScriptCode::getRTTIStatic();
  29. }
  30. }