BsScriptSpriteTexture.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #include "BsScriptSpriteTexture.h"
  2. #include "BsScriptResourceManager.h"
  3. #include "BsScriptMeta.h"
  4. #include "BsMonoField.h"
  5. #include "BsMonoClass.h"
  6. #include "BsMonoManager.h"
  7. #include "BsSpriteTexture.h"
  8. using namespace CamelotFramework;
  9. namespace BansheeEngine
  10. {
  11. ScriptSpriteTexture::ScriptSpriteTexture(const HSpriteTexture& texture)
  12. :mTexture(texture)
  13. {
  14. }
  15. void ScriptSpriteTexture::initMetaData()
  16. {
  17. metaData = ScriptMeta(BansheeEngineAssemblyName, "BansheeEngine", "SpriteTexture", &ScriptSpriteTexture::initRuntimeData);
  18. MonoManager::registerScriptType(&metaData);
  19. }
  20. void ScriptSpriteTexture::initRuntimeData()
  21. {
  22. metaData.scriptClass->addInternalCall("Internal_CreateInstance", &ScriptSpriteTexture::internal_createInstance);
  23. metaData.scriptClass->addInternalCall("Internal_DestroyInstance", &ScriptSpriteTexture::internal_destroyInstance);
  24. }
  25. void ScriptSpriteTexture::internal_createInstance(MonoObject* instance)
  26. {
  27. ScriptResourceManager::instance().createScriptSpriteTexture(instance, SpriteTexture::dummy()); // TODO - DUMMY CODE!
  28. }
  29. void ScriptSpriteTexture::internal_destroyInstance(ScriptSpriteTexture* nativeInstance)
  30. {
  31. ScriptResourceManager::instance().destroyScriptResource(nativeInstance);
  32. }
  33. void ScriptSpriteTexture::setNativeHandle(const HResource& resource)
  34. {
  35. mTexture = static_resource_cast<Resource>(mTexture);
  36. }
  37. }