BsPlatformInfo.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsIReflectable.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Available platforms we can build for
  8. */
  9. enum class PlatformType
  10. {
  11. Windows,
  12. Count // Keep at end
  13. };
  14. /**
  15. * @brief Contains per-platform information used primarily for build purposes.
  16. */
  17. struct BS_ED_EXPORT PlatformInfo : public IReflectable
  18. {
  19. PlatformInfo();
  20. virtual ~PlatformInfo();
  21. PlatformType type;
  22. WString defines;
  23. /************************************************************************/
  24. /* RTTI */
  25. /************************************************************************/
  26. public:
  27. friend class PlatformInfoRTTI;
  28. static RTTITypeBase* getRTTIStatic();
  29. virtual RTTITypeBase* getRTTI() const override;
  30. };
  31. /**
  32. * @brief Contains Windows specific per-platform information used
  33. * primarily for build purposes.
  34. */
  35. struct BS_ED_EXPORT WinPlatformInfo : public PlatformInfo
  36. {
  37. WinPlatformInfo();
  38. bool is32bit;
  39. /************************************************************************/
  40. /* RTTI */
  41. /************************************************************************/
  42. public:
  43. friend class WinPlatformInfoRTTI;
  44. static RTTITypeBase* getRTTIStatic();
  45. virtual RTTITypeBase* getRTTI() const override;
  46. };
  47. }