BsScriptGUIElementStateStyle.cpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include "BsScriptGUIElementStateStyle.h"
  2. #include "BsScriptMeta.h"
  3. #include "BsMonoField.h"
  4. #include "BsMonoClass.h"
  5. #include "BsMonoManager.h"
  6. #include "BsScriptSpriteTexture.h"
  7. #include "BsScriptResourceManager.h"
  8. #include "BsGUIElementStyle.h"
  9. #include "BsScriptColor.h"
  10. namespace BansheeEngine
  11. {
  12. ScriptGUIElementStateStyle::ScriptGUIElementStateStyle(MonoObject* instance)
  13. :ScriptObject(instance)
  14. {
  15. }
  16. void ScriptGUIElementStateStyle::initRuntimeData()
  17. {
  18. }
  19. ScriptGUIElementStateStyleStruct ScriptGUIElementStateStyle::toManaged(const GUIElementStyle::GUIElementStateStyle& state)
  20. {
  21. ScriptSpriteTexture* scriptTexture = nullptr;
  22. if (state.texture != nullptr)
  23. ScriptResourceManager::instance().getScriptResource(state.texture, &scriptTexture, true);
  24. ScriptGUIElementStateStyleStruct output;
  25. output.texture = scriptTexture != nullptr ? scriptTexture->getManagedInstance() : nullptr;
  26. output.textColor = state.textColor;
  27. return output;
  28. }
  29. GUIElementStyle::GUIElementStateStyle ScriptGUIElementStateStyle::toNative(const ScriptGUIElementStateStyleStruct& instance)
  30. {
  31. GUIElementStyle::GUIElementStateStyle output;
  32. if (instance.texture != nullptr)
  33. {
  34. ScriptSpriteTexture* scriptTexture = ScriptSpriteTexture::toNative(instance.texture);
  35. output.texture = scriptTexture->getHandle();
  36. }
  37. output.textColor = instance.textColor;
  38. return output;
  39. }
  40. }