BsScriptGUIElementStateStyle.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. #include "BsMonoClass.h"
  5. #include "BsGUIElementStyle.h"
  6. #include "BsScriptMacros.h"
  7. #include "BsScriptSpriteTexture.h"
  8. namespace BansheeEngine
  9. {
  10. class BS_SCR_BE_EXPORT ScriptGUIElementStateStyle : public ScriptObject<ScriptGUIElementStateStyle>
  11. {
  12. public:
  13. ~ScriptGUIElementStateStyle();
  14. static void initMetaData();
  15. GUIElementStyle::GUIElementStateStyle getInternalValue() const { return *mElementStateStyle; }
  16. private:
  17. static void internal_createInstance(MonoObject* instance);
  18. static void internal_createInstanceExternal(MonoObject* instance, GUIElementStyle::GUIElementStateStyle* externalStateStyle);
  19. static void internal_destroyInstance(ScriptGUIElementStateStyle* nativeInstance);
  20. static void initRuntimeData()
  21. {
  22. metaData.scriptClass->addInternalCall("Internal_CreateInstance", &ScriptGUIElementStateStyle::internal_createInstance);
  23. metaData.scriptClass->addInternalCall("Internal_DestroyInstance", &ScriptGUIElementStateStyle::internal_destroyInstance);
  24. CM_SCRIPT_SETGET_META(ScriptGUIElementStateStyle, Texture);
  25. CM_SCRIPT_SETGET_META(ScriptGUIElementStateStyle, TextColor);
  26. }
  27. CM_SCRIPT_GETSET_OBJECT_SHRDPTR(ScriptGUIElementStateStyle, ScriptSpriteTexture, Texture, mElementStateStyle->texture, mSpriteTexture);
  28. CM_SCRIPT_GETSET_VALUE_REF(ScriptGUIElementStateStyle, CM::Color, TextColor, mElementStateStyle->textColor);
  29. ScriptGUIElementStateStyle();
  30. ScriptGUIElementStateStyle(GUIElementStyle::GUIElementStateStyle* externalStyle);
  31. GUIElementStyle::GUIElementStateStyle* mElementStateStyle;
  32. ScriptSpriteTexture* mSpriteTexture;
  33. bool mOwnsStyle;
  34. };
  35. }