BsScriptPlatformInfo.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. #include "BsScriptEditorPrerequisites.h"
  3. #include "BsScriptObject.h"
  4. #include "BsPlatformInfo.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_SCR_BED_EXPORT ScriptPlatformInfoBase : public ScriptObjectBase
  8. {
  9. public:
  10. SPtr<PlatformInfo> getPlatformInfo() const { return mPlatformInfo; }
  11. protected:
  12. ScriptPlatformInfoBase(MonoObject* instance);
  13. virtual ~ScriptPlatformInfoBase() {}
  14. SPtr<PlatformInfo> mPlatformInfo;
  15. };
  16. class BS_SCR_BED_EXPORT ScriptPlatformInfo : public ScriptObject <ScriptPlatformInfo, ScriptPlatformInfoBase>
  17. {
  18. public:
  19. SCRIPT_OBJ(EDITOR_ASSEMBLY, "BansheeEditor", "PlatformInfo")
  20. static MonoObject* create(const SPtr<PlatformInfo>& platformInfo);
  21. private:
  22. ScriptPlatformInfo(MonoObject* instance);
  23. static PlatformType internal_GetType(ScriptPlatformInfoBase* thisPtr);
  24. static MonoString* internal_GetDefines(ScriptPlatformInfoBase* thisPtr);
  25. static void internal_SetDefines(ScriptPlatformInfoBase* thisPtr, MonoString* value);
  26. };
  27. class BS_SCR_BED_EXPORT ScriptWinPlatformInfo : public ScriptObject <ScriptWinPlatformInfo, ScriptPlatformInfoBase>
  28. {
  29. public:
  30. SCRIPT_OBJ(EDITOR_ASSEMBLY, "BansheeEditor", "WinPlatformInfo")
  31. static MonoObject* create(const SPtr<WinPlatformInfo>& platformInfo);
  32. private:
  33. ScriptWinPlatformInfo(MonoObject* instance);
  34. SPtr<WinPlatformInfo> getWinPlatformInfo() const;
  35. static bool internal_GetIs32Bit(ScriptWinPlatformInfo* thisPtr);
  36. static void internal_SetIs32Bit(ScriptWinPlatformInfo* thisPtr, bool value);
  37. };
  38. }