BsScriptGUIElementStateStyle.cpp 1.7 KB

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