BsScriptEnginePrerequisites.h 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #pragma once
  2. #include "BsMonoPrerequisites.h"
  3. #if (CM_PLATFORM == CM_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 ( CM_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 ScriptResource;
  22. class ScriptFont;
  23. class ScriptSpriteTexture;
  24. class ScriptTexture2D;
  25. class ScriptGUIElementStyle;
  26. class ScriptGUIElementStateStyle;
  27. class ScriptGUIBase;
  28. class ScriptGUIArea;
  29. class ScriptGUILayout;
  30. class ScriptGUILabel;
  31. class ScriptGameObject;
  32. class ScriptSceneObject;
  33. class ScriptComponent;
  34. class ManagedComponent;
  35. class ScriptSerializableFieldData;
  36. class ScriptSerializableFieldKey;
  37. class ScriptSerializableFieldDataEntry;
  38. class ScriptSerializableTypeInfo;
  39. class ScriptSerializableTypeInfoPrimitive;
  40. class ScriptSerializableTypeInfoObject;
  41. class ScriptSerializableTypeInfoArray;
  42. class ScriptSerializableObject;
  43. class ScriptSerializableArray;
  44. class ScriptSerializableAssemblyInfo;
  45. class ScriptSerializableObjectInfo;
  46. class ScriptSerializableFieldInfo;
  47. enum TypeID_BansheeScript
  48. {
  49. TID_ManagedComponent = 50000,
  50. TID_ScriptSerializableObject = 50001,
  51. TID_ScriptSerializableArray = 50002,
  52. TID_SerializableAssemblyInfo = 50004,
  53. TID_SerializableObjectInfo = 50005,
  54. TID_SerializableFieldInfo = 50006,
  55. TID_SerializableTypeInfo = 50007,
  56. TID_SerializableTypeInfoPrimitive = 50008,
  57. TID_SerializableTypeInfoObject = 50009,
  58. TID_SerializableTypeInfoArray = 50010,
  59. TID_SerializableFieldData = 50011,
  60. TID_SerializableFieldKey = 50012,
  61. TID_SerializableFieldDataEntry = 50013,
  62. TID_SerializableFieldDataBool = 50014,
  63. TID_SerializableFieldDataChar = 50015,
  64. TID_SerializableFieldDataI8 = 50016,
  65. TID_SerializableFieldDataU8 = 50017,
  66. TID_SerializableFieldDataI16 = 50018,
  67. TID_SerializableFieldDataU16 = 50019,
  68. TID_SerializableFieldDataI32 = 50020,
  69. TID_SerializableFieldDataU32 = 50021,
  70. TID_SerializableFieldDataI64 = 50022,
  71. TID_SerializableFieldDataU64 = 50023,
  72. TID_SerializableFieldDataFloat = 50024,
  73. TID_SerializableFieldDataDouble = 50025,
  74. TID_SerializableFieldDataString = 50026,
  75. TID_SerializableFieldDataResourceRef = 50027,
  76. TID_SerializableFieldDataGameObjectRef = 50028,
  77. TID_SerializableFieldDataObject = 50029,
  78. TID_SerializableFieldDataArray = 50030
  79. };
  80. static const char* BansheeEngineAssemblyName = "MBansheeEngine";
  81. typedef std::shared_ptr<ScriptSerializableFieldData> ScriptSerializableFieldDataPtr;
  82. typedef std::shared_ptr<ScriptSerializableFieldKey> ScriptSerializableFieldKeyPtr;
  83. typedef std::shared_ptr<ScriptSerializableFieldDataEntry> ScriptSerializableFieldDataEntryPtr;
  84. typedef std::shared_ptr<ScriptSerializableTypeInfo> ScriptSerializableTypeInfoPtr;
  85. typedef std::shared_ptr<ScriptSerializableTypeInfoObject> ScriptSerializableTypeInfoObjectPtr;
  86. typedef std::shared_ptr<ScriptSerializableObject> ScriptSerializableObjectPtr;
  87. typedef std::shared_ptr<ScriptSerializableArray> ScriptSerializableArrayPtr;
  88. typedef std::shared_ptr<ScriptSerializableAssemblyInfo> ScriptSerializableAssemblyInfoPtr;
  89. typedef std::shared_ptr<ScriptSerializableObjectInfo> ScriptSerializableObjectInfoPtr;
  90. typedef std::shared_ptr<ScriptSerializableFieldInfo> ScriptSerializableFieldInfoPtr;
  91. typedef std::shared_ptr<ScriptSerializableTypeInfoArray> ScriptSerializableTypeInfoArrayPtr;
  92. }