BsScriptGUIElementStateStyle.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "Wrappers/GUI/BsScriptGUIElementStateStyle.h"
  4. #include "BsScriptMeta.h"
  5. #include "BsMonoField.h"
  6. #include "BsMonoClass.h"
  7. #include "BsMonoManager.h"
  8. #include "BsScriptResourceManager.h"
  9. #include "GUI/BsGUIElementStyle.h"
  10. #include "Wrappers/BsScriptColor.h"
  11. #include "BsScriptSpriteTexture.generated.h"
  12. namespace bs
  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. ScriptResourceBase* scriptTexture = nullptr;
  24. if (state.texture != nullptr)
  25. scriptTexture = ScriptResourceManager::instance().getScriptResource(state.texture, 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. }