BsScriptEnginePrerequisites.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. #pragma once
  2. #include "BsMonoPrerequisites.h"
  3. #if (BS_PLATFORM == BS_PLATFORM_WIN32) && !defined(__MINGW32__)
  4. # ifdef BS_SCR_BE_EXPORTS
  5. # define BS_SCR_BE_EXPORT __declspec(dllexport)
  6. # else
  7. # if defined( __MINGW32__ )
  8. # define BS_SCR_BE_EXPORT
  9. # else
  10. # define BS_SCR_BE_EXPORT __declspec(dllimport)
  11. # endif
  12. # endif
  13. #elif defined ( BS_GCC_VISIBILITY )
  14. # define BS_SCR_BE_EXPORT __attribute__ ((visibility("default")))
  15. #else
  16. # define BS_SCR_BE_EXPORT
  17. #endif
  18. namespace BansheeEngine
  19. {
  20. class ScriptResourceManager;
  21. class ScriptResourceBase;
  22. class ScriptFont;
  23. class ScriptSpriteTexture;
  24. class ScriptTexture2D;
  25. class ScriptTexture3D;
  26. class ScriptTextureCube;
  27. class ScriptGUIElementStyle;
  28. class ScriptGUIElementStateStyle;
  29. class ScriptGUIPanel;
  30. class ScriptGUIArea;
  31. class ScriptGUILayout;
  32. class ScriptGUILabel;
  33. class ScriptGameObjectBase;
  34. class ScriptSceneObject;
  35. class ScriptComponent;
  36. class ScriptManagedResource;
  37. class ScriptRenderTarget;
  38. class ScriptRenderTexture2D;
  39. class ManagedComponent;
  40. class ManagedSerializableFieldData;
  41. class ManagedSerializableFieldKey;
  42. class ManagedSerializableFieldDataEntry;
  43. class ManagedSerializableTypeInfo;
  44. class ManagedSerializableTypeInfoPrimitive;
  45. class ManagedSerializableTypeInfoObject;
  46. class ManagedSerializableTypeInfoArray;
  47. class ManagedSerializableTypeInfoList;
  48. class ManagedSerializableTypeInfoDictionary;
  49. class ManagedSerializableObject;
  50. class ManagedSerializableArray;
  51. class ManagedSerializableList;
  52. class ManagedSerializableDictionary;
  53. class ManagedSerializableAssemblyInfo;
  54. class ManagedSerializableObjectInfo;
  55. class ManagedSerializableFieldInfo;
  56. class ManagedResource;
  57. class ManagedResourceMetaData;
  58. class RuntimeScriptObjects;
  59. typedef GameObjectHandle<ManagedComponent> HManagedComponent;
  60. typedef ResourceHandle<ManagedResource> HManagedResource;
  61. enum TypeID_BansheeScript
  62. {
  63. TID_ManagedComponent = 50000,
  64. TID_ScriptSerializableObject = 50001,
  65. TID_ScriptSerializableArray = 50002,
  66. TID_SerializableAssemblyInfo = 50004,
  67. TID_SerializableObjectInfo = 50005,
  68. TID_SerializableFieldInfo = 50006,
  69. TID_SerializableTypeInfo = 50007,
  70. TID_SerializableTypeInfoPrimitive = 50008,
  71. TID_SerializableTypeInfoObject = 50009,
  72. TID_SerializableTypeInfoArray = 50010,
  73. TID_SerializableFieldData = 50011,
  74. TID_SerializableFieldKey = 50012,
  75. TID_SerializableFieldDataEntry = 50013,
  76. TID_SerializableFieldDataBool = 50014,
  77. TID_SerializableFieldDataChar = 50015,
  78. TID_SerializableFieldDataI8 = 50016,
  79. TID_SerializableFieldDataU8 = 50017,
  80. TID_SerializableFieldDataI16 = 50018,
  81. TID_SerializableFieldDataU16 = 50019,
  82. TID_SerializableFieldDataI32 = 50020,
  83. TID_SerializableFieldDataU32 = 50021,
  84. TID_SerializableFieldDataI64 = 50022,
  85. TID_SerializableFieldDataU64 = 50023,
  86. TID_SerializableFieldDataFloat = 50024,
  87. TID_SerializableFieldDataDouble = 50025,
  88. TID_SerializableFieldDataString = 50026,
  89. TID_SerializableFieldDataResourceRef = 50027,
  90. TID_SerializableFieldDataGameObjectRef = 50028,
  91. TID_SerializableFieldDataObject = 50029,
  92. TID_SerializableFieldDataArray = 50030,
  93. TID_SerializableFieldDataList = 50031,
  94. TID_SerializableFieldDataDictionary = 50032,
  95. TID_SerializableTypeInfoList = 50033,
  96. TID_SerializableTypeInfoDictionary = 50034,
  97. TID_ScriptSerializableList = 50035,
  98. TID_ScriptSerializableDictionary = 50036,
  99. TID_ManagedResource = 50037,
  100. TID_ManagedResourceMetaData = 50038
  101. };
  102. static const char* BansheeEngineAssemblyName = "MBansheeEngine";
  103. typedef std::shared_ptr<ManagedSerializableFieldData> ManagedSerializableFieldDataPtr;
  104. typedef std::shared_ptr<ManagedSerializableFieldKey> ManagedSerializableFieldKeyPtr;
  105. typedef std::shared_ptr<ManagedSerializableFieldDataEntry> ManagedSerializableFieldDataEntryPtr;
  106. typedef std::shared_ptr<ManagedSerializableTypeInfo> ManagedSerializableTypeInfoPtr;
  107. typedef std::shared_ptr<ManagedSerializableTypeInfoObject> ManagedSerializableTypeInfoObjectPtr;
  108. typedef std::shared_ptr<ManagedSerializableObject> ManagedSerializableObjectPtr;
  109. typedef std::shared_ptr<ManagedSerializableArray> ManagedSerializableArrayPtr;
  110. typedef std::shared_ptr<ManagedSerializableList> ManagedSerializableListPtr;
  111. typedef std::shared_ptr<ManagedSerializableDictionary> ManagedSerializableDictionaryPtr;
  112. typedef std::shared_ptr<ManagedSerializableAssemblyInfo> ManagedSerializableAssemblyInfoPtr;
  113. typedef std::shared_ptr<ManagedSerializableObjectInfo> ManagedSerializableObjectInfoPtr;
  114. typedef std::shared_ptr<ManagedSerializableFieldInfo> ManagedSerializableFieldInfoPtr;
  115. typedef std::shared_ptr<ManagedSerializableTypeInfoArray> ManagedSerializableTypeInfoArrayPtr;
  116. typedef std::shared_ptr<ManagedSerializableTypeInfoList> ManagedSerializableTypeInfoListPtr;
  117. typedef std::shared_ptr<ManagedSerializableTypeInfoDictionary> ManagedSerializableTypeInfoDictionaryPtr;
  118. typedef std::shared_ptr<ManagedResource> ManagedResourcePtr;
  119. typedef std::shared_ptr<ManagedResourceMetaData> ManagedResourceMetaDataPtr;
  120. }