UnityClassRegistration.cpp 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426
  1. extern "C" void RegisterStaticallyLinkedModulesGranular()
  2. {
  3. void RegisterModule_SharedInternals();
  4. RegisterModule_SharedInternals();
  5. void RegisterModule_Core();
  6. RegisterModule_Core();
  7. void RegisterModule_Animation();
  8. RegisterModule_Animation();
  9. void RegisterModule_Audio();
  10. RegisterModule_Audio();
  11. void RegisterModule_InputLegacy();
  12. RegisterModule_InputLegacy();
  13. void RegisterModule_IMGUI();
  14. RegisterModule_IMGUI();
  15. void RegisterModule_JSONSerialize();
  16. RegisterModule_JSONSerialize();
  17. void RegisterModule_PerformanceReporting();
  18. RegisterModule_PerformanceReporting();
  19. void RegisterModule_Physics();
  20. RegisterModule_Physics();
  21. void RegisterModule_RuntimeInitializeOnLoadManagerInitializer();
  22. RegisterModule_RuntimeInitializeOnLoadManagerInitializer();
  23. void RegisterModule_TextRendering();
  24. RegisterModule_TextRendering();
  25. void RegisterModule_TLS();
  26. RegisterModule_TLS();
  27. void RegisterModule_UI();
  28. RegisterModule_UI();
  29. void RegisterModule_UnityConnect();
  30. RegisterModule_UnityConnect();
  31. void RegisterModule_UnityWebRequest();
  32. RegisterModule_UnityWebRequest();
  33. void RegisterModule_UnityAnalytics();
  34. RegisterModule_UnityAnalytics();
  35. void RegisterModule_WebGL();
  36. RegisterModule_WebGL();
  37. }
  38. template <typename T> void RegisterUnityClass(const char*);
  39. template <typename T> void RegisterStrippedType(int, const char*, const char*);
  40. void InvokeRegisterStaticallyLinkedModuleClasses()
  41. {
  42. // Do nothing (we're in stripping mode)
  43. }
  44. class EditorExtension; template <> void RegisterUnityClass<EditorExtension>(const char*);
  45. namespace Unity { class Component; } template <> void RegisterUnityClass<Unity::Component>(const char*);
  46. class Behaviour; template <> void RegisterUnityClass<Behaviour>(const char*);
  47. class Animation;
  48. class Animator; template <> void RegisterUnityClass<Animator>(const char*);
  49. namespace Unity { class ArticulationBody; }
  50. class AudioBehaviour; template <> void RegisterUnityClass<AudioBehaviour>(const char*);
  51. class AudioListener; template <> void RegisterUnityClass<AudioListener>(const char*);
  52. class AudioSource; template <> void RegisterUnityClass<AudioSource>(const char*);
  53. class AudioFilter;
  54. class AudioChorusFilter;
  55. class AudioDistortionFilter;
  56. class AudioEchoFilter;
  57. class AudioHighPassFilter;
  58. class AudioLowPassFilter;
  59. class AudioReverbFilter;
  60. class AudioReverbZone;
  61. class Camera; template <> void RegisterUnityClass<Camera>(const char*);
  62. namespace UI { class Canvas; } template <> void RegisterUnityClass<UI::Canvas>(const char*);
  63. namespace UI { class CanvasGroup; } template <> void RegisterUnityClass<UI::CanvasGroup>(const char*);
  64. namespace Unity { class Cloth; }
  65. class Collider2D;
  66. class BoxCollider2D;
  67. class CapsuleCollider2D;
  68. class CircleCollider2D;
  69. class CompositeCollider2D;
  70. class EdgeCollider2D;
  71. class PolygonCollider2D;
  72. class TilemapCollider2D;
  73. class ConstantForce;
  74. class Effector2D;
  75. class AreaEffector2D;
  76. class BuoyancyEffector2D;
  77. class PlatformEffector2D;
  78. class PointEffector2D;
  79. class SurfaceEffector2D;
  80. class FlareLayer;
  81. class GridLayout;
  82. class Grid;
  83. class Tilemap;
  84. class Halo;
  85. class HaloLayer;
  86. class IConstraint;
  87. class AimConstraint;
  88. class LookAtConstraint;
  89. class ParentConstraint;
  90. class PositionConstraint;
  91. class RotationConstraint;
  92. class ScaleConstraint;
  93. class Joint2D;
  94. class AnchoredJoint2D;
  95. class DistanceJoint2D;
  96. class FixedJoint2D;
  97. class FrictionJoint2D;
  98. class HingeJoint2D;
  99. class SliderJoint2D;
  100. class SpringJoint2D;
  101. class WheelJoint2D;
  102. class RelativeJoint2D;
  103. class TargetJoint2D;
  104. class LensFlare;
  105. class Light; template <> void RegisterUnityClass<Light>(const char*);
  106. class LightProbeGroup;
  107. class LightProbeProxyVolume;
  108. class MonoBehaviour; template <> void RegisterUnityClass<MonoBehaviour>(const char*);
  109. class NavMeshAgent;
  110. class NavMeshObstacle;
  111. class OffMeshLink;
  112. class ParticleSystemForceField;
  113. class PhysicsUpdateBehaviour2D;
  114. class ConstantForce2D;
  115. class PlayableDirector;
  116. class Projector;
  117. class ReflectionProbe; template <> void RegisterUnityClass<ReflectionProbe>(const char*);
  118. class Skybox; template <> void RegisterUnityClass<Skybox>(const char*);
  119. class SortingGroup;
  120. class StreamingController;
  121. class Terrain;
  122. class VideoPlayer;
  123. class VisualEffect;
  124. class WindZone;
  125. namespace UI { class CanvasRenderer; } template <> void RegisterUnityClass<UI::CanvasRenderer>(const char*);
  126. class Collider; template <> void RegisterUnityClass<Collider>(const char*);
  127. class BoxCollider; template <> void RegisterUnityClass<BoxCollider>(const char*);
  128. class CapsuleCollider;
  129. class CharacterController;
  130. class MeshCollider; template <> void RegisterUnityClass<MeshCollider>(const char*);
  131. class SphereCollider;
  132. class TerrainCollider;
  133. class WheelCollider;
  134. namespace Unity { class Joint; }
  135. namespace Unity { class CharacterJoint; }
  136. namespace Unity { class ConfigurableJoint; }
  137. namespace Unity { class FixedJoint; }
  138. namespace Unity { class HingeJoint; }
  139. namespace Unity { class SpringJoint; }
  140. class LODGroup;
  141. class MeshFilter; template <> void RegisterUnityClass<MeshFilter>(const char*);
  142. class OcclusionArea;
  143. class OcclusionPortal;
  144. class ParticleSystem;
  145. class Renderer; template <> void RegisterUnityClass<Renderer>(const char*);
  146. class BillboardRenderer;
  147. class LineRenderer;
  148. class MeshRenderer; template <> void RegisterUnityClass<MeshRenderer>(const char*);
  149. class ParticleSystemRenderer;
  150. class SkinnedMeshRenderer;
  151. class SpriteMask;
  152. class SpriteRenderer;
  153. class SpriteShapeRenderer;
  154. class TilemapRenderer;
  155. class TrailRenderer;
  156. class VFXRenderer;
  157. class Rigidbody; template <> void RegisterUnityClass<Rigidbody>(const char*);
  158. class Rigidbody2D;
  159. namespace TextRenderingPrivate { class TextMesh; }
  160. class Transform; template <> void RegisterUnityClass<Transform>(const char*);
  161. namespace UI { class RectTransform; } template <> void RegisterUnityClass<UI::RectTransform>(const char*);
  162. class Tree;
  163. class GameObject; template <> void RegisterUnityClass<GameObject>(const char*);
  164. class NamedObject; template <> void RegisterUnityClass<NamedObject>(const char*);
  165. class AssetBundle;
  166. class AssetBundleManifest;
  167. class AudioMixer;
  168. class AudioMixerController;
  169. class AudioMixerGroup;
  170. class AudioMixerGroupController;
  171. class AudioMixerSnapshot;
  172. class AudioMixerSnapshotController;
  173. class Avatar;
  174. class AvatarMask;
  175. class BillboardAsset;
  176. class ComputeShader; template <> void RegisterUnityClass<ComputeShader>(const char*);
  177. class Flare;
  178. namespace TextRendering { class Font; } template <> void RegisterUnityClass<TextRendering::Font>(const char*);
  179. class LightProbes; template <> void RegisterUnityClass<LightProbes>(const char*);
  180. class LightingSettings; template <> void RegisterUnityClass<LightingSettings>(const char*);
  181. class LocalizationAsset;
  182. class Material; template <> void RegisterUnityClass<Material>(const char*);
  183. class ProceduralMaterial;
  184. class Mesh; template <> void RegisterUnityClass<Mesh>(const char*);
  185. class Motion;
  186. class AnimationClip;
  187. class NavMeshData;
  188. class OcclusionCullingData;
  189. class PhysicMaterial;
  190. class PhysicsMaterial2D;
  191. class PreloadData; template <> void RegisterUnityClass<PreloadData>(const char*);
  192. class RayTracingShader;
  193. class RuntimeAnimatorController; template <> void RegisterUnityClass<RuntimeAnimatorController>(const char*);
  194. class AnimatorController; template <> void RegisterUnityClass<AnimatorController>(const char*);
  195. class AnimatorOverrideController; template <> void RegisterUnityClass<AnimatorOverrideController>(const char*);
  196. class SampleClip; template <> void RegisterUnityClass<SampleClip>(const char*);
  197. class AudioClip; template <> void RegisterUnityClass<AudioClip>(const char*);
  198. class Shader; template <> void RegisterUnityClass<Shader>(const char*);
  199. class ShaderVariantCollection;
  200. class SpeedTreeWindAsset;
  201. class Sprite; template <> void RegisterUnityClass<Sprite>(const char*);
  202. class SpriteAtlas; template <> void RegisterUnityClass<SpriteAtlas>(const char*);
  203. class SubstanceArchive;
  204. class TerrainData;
  205. class TerrainLayer;
  206. class TextAsset; template <> void RegisterUnityClass<TextAsset>(const char*);
  207. class MonoScript; template <> void RegisterUnityClass<MonoScript>(const char*);
  208. class Texture; template <> void RegisterUnityClass<Texture>(const char*);
  209. class BaseVideoTexture; template <> void RegisterUnityClass<BaseVideoTexture>(const char*);
  210. class WebCamTexture; template <> void RegisterUnityClass<WebCamTexture>(const char*);
  211. class CubemapArray; template <> void RegisterUnityClass<CubemapArray>(const char*);
  212. class LowerResBlitTexture; template <> void RegisterUnityClass<LowerResBlitTexture>(const char*);
  213. class ProceduralTexture;
  214. class RenderTexture; template <> void RegisterUnityClass<RenderTexture>(const char*);
  215. class CustomRenderTexture;
  216. class SparseTexture;
  217. class Texture2D; template <> void RegisterUnityClass<Texture2D>(const char*);
  218. class Cubemap; template <> void RegisterUnityClass<Cubemap>(const char*);
  219. class Texture2DArray; template <> void RegisterUnityClass<Texture2DArray>(const char*);
  220. class Texture3D; template <> void RegisterUnityClass<Texture3D>(const char*);
  221. class VideoClip;
  222. class VisualEffectObject;
  223. class VisualEffectAsset;
  224. class VisualEffectSubgraph;
  225. class GameManager; template <> void RegisterUnityClass<GameManager>(const char*);
  226. class GlobalGameManager; template <> void RegisterUnityClass<GlobalGameManager>(const char*);
  227. class AudioManager; template <> void RegisterUnityClass<AudioManager>(const char*);
  228. class BuildSettings; template <> void RegisterUnityClass<BuildSettings>(const char*);
  229. class DelayedCallManager; template <> void RegisterUnityClass<DelayedCallManager>(const char*);
  230. class GraphicsSettings; template <> void RegisterUnityClass<GraphicsSettings>(const char*);
  231. class InputManager; template <> void RegisterUnityClass<InputManager>(const char*);
  232. class MonoManager; template <> void RegisterUnityClass<MonoManager>(const char*);
  233. class NavMeshProjectSettings;
  234. class Physics2DSettings;
  235. class PhysicsManager; template <> void RegisterUnityClass<PhysicsManager>(const char*);
  236. class PlayerSettings; template <> void RegisterUnityClass<PlayerSettings>(const char*);
  237. class QualitySettings; template <> void RegisterUnityClass<QualitySettings>(const char*);
  238. class ResourceManager; template <> void RegisterUnityClass<ResourceManager>(const char*);
  239. class RuntimeInitializeOnLoadManager; template <> void RegisterUnityClass<RuntimeInitializeOnLoadManager>(const char*);
  240. class ScriptMapper; template <> void RegisterUnityClass<ScriptMapper>(const char*);
  241. class StreamingManager;
  242. class TagManager; template <> void RegisterUnityClass<TagManager>(const char*);
  243. class TimeManager; template <> void RegisterUnityClass<TimeManager>(const char*);
  244. class UnityConnectSettings; template <> void RegisterUnityClass<UnityConnectSettings>(const char*);
  245. class VFXManager;
  246. class LevelGameManager; template <> void RegisterUnityClass<LevelGameManager>(const char*);
  247. class LightmapSettings; template <> void RegisterUnityClass<LightmapSettings>(const char*);
  248. class NavMeshSettings;
  249. class OcclusionCullingSettings;
  250. class RenderSettings; template <> void RegisterUnityClass<RenderSettings>(const char*);
  251. void RegisterAllClasses()
  252. {
  253. void RegisterBuiltinTypes();
  254. RegisterBuiltinTypes();
  255. //Total: 74 non stripped classes
  256. //0. Animator
  257. RegisterUnityClass<Animator>("Animation");
  258. //1. AnimatorController
  259. RegisterUnityClass<AnimatorController>("Animation");
  260. //2. AnimatorOverrideController
  261. RegisterUnityClass<AnimatorOverrideController>("Animation");
  262. //3. RuntimeAnimatorController
  263. RegisterUnityClass<RuntimeAnimatorController>("Animation");
  264. //4. AudioBehaviour
  265. RegisterUnityClass<AudioBehaviour>("Audio");
  266. //5. AudioClip
  267. RegisterUnityClass<AudioClip>("Audio");
  268. //6. AudioListener
  269. RegisterUnityClass<AudioListener>("Audio");
  270. //7. AudioManager
  271. RegisterUnityClass<AudioManager>("Audio");
  272. //8. AudioSource
  273. RegisterUnityClass<AudioSource>("Audio");
  274. //9. BaseVideoTexture
  275. RegisterUnityClass<BaseVideoTexture>("Audio");
  276. //10. SampleClip
  277. RegisterUnityClass<SampleClip>("Audio");
  278. //11. WebCamTexture
  279. RegisterUnityClass<WebCamTexture>("Audio");
  280. //12. Behaviour
  281. RegisterUnityClass<Behaviour>("Core");
  282. //13. BuildSettings
  283. RegisterUnityClass<BuildSettings>("Core");
  284. //14. Camera
  285. RegisterUnityClass<Camera>("Core");
  286. //15. Unity::Component
  287. RegisterUnityClass<Unity::Component>("Core");
  288. //16. ComputeShader
  289. RegisterUnityClass<ComputeShader>("Core");
  290. //17. Cubemap
  291. RegisterUnityClass<Cubemap>("Core");
  292. //18. CubemapArray
  293. RegisterUnityClass<CubemapArray>("Core");
  294. //19. DelayedCallManager
  295. RegisterUnityClass<DelayedCallManager>("Core");
  296. //20. EditorExtension
  297. RegisterUnityClass<EditorExtension>("Core");
  298. //21. GameManager
  299. RegisterUnityClass<GameManager>("Core");
  300. //22. GameObject
  301. RegisterUnityClass<GameObject>("Core");
  302. //23. GlobalGameManager
  303. RegisterUnityClass<GlobalGameManager>("Core");
  304. //24. GraphicsSettings
  305. RegisterUnityClass<GraphicsSettings>("Core");
  306. //25. InputManager
  307. RegisterUnityClass<InputManager>("Core");
  308. //26. LevelGameManager
  309. RegisterUnityClass<LevelGameManager>("Core");
  310. //27. Light
  311. RegisterUnityClass<Light>("Core");
  312. //28. LightingSettings
  313. RegisterUnityClass<LightingSettings>("Core");
  314. //29. LightmapSettings
  315. RegisterUnityClass<LightmapSettings>("Core");
  316. //30. LightProbes
  317. RegisterUnityClass<LightProbes>("Core");
  318. //31. LowerResBlitTexture
  319. RegisterUnityClass<LowerResBlitTexture>("Core");
  320. //32. Material
  321. RegisterUnityClass<Material>("Core");
  322. //33. Mesh
  323. RegisterUnityClass<Mesh>("Core");
  324. //34. MeshFilter
  325. RegisterUnityClass<MeshFilter>("Core");
  326. //35. MeshRenderer
  327. RegisterUnityClass<MeshRenderer>("Core");
  328. //36. MonoBehaviour
  329. RegisterUnityClass<MonoBehaviour>("Core");
  330. //37. MonoManager
  331. RegisterUnityClass<MonoManager>("Core");
  332. //38. MonoScript
  333. RegisterUnityClass<MonoScript>("Core");
  334. //39. NamedObject
  335. RegisterUnityClass<NamedObject>("Core");
  336. //40. Object
  337. //Skipping Object
  338. //41. PlayerSettings
  339. RegisterUnityClass<PlayerSettings>("Core");
  340. //42. PreloadData
  341. RegisterUnityClass<PreloadData>("Core");
  342. //43. QualitySettings
  343. RegisterUnityClass<QualitySettings>("Core");
  344. //44. UI::RectTransform
  345. RegisterUnityClass<UI::RectTransform>("Core");
  346. //45. ReflectionProbe
  347. RegisterUnityClass<ReflectionProbe>("Core");
  348. //46. Renderer
  349. RegisterUnityClass<Renderer>("Core");
  350. //47. RenderSettings
  351. RegisterUnityClass<RenderSettings>("Core");
  352. //48. RenderTexture
  353. RegisterUnityClass<RenderTexture>("Core");
  354. //49. ResourceManager
  355. RegisterUnityClass<ResourceManager>("Core");
  356. //50. RuntimeInitializeOnLoadManager
  357. RegisterUnityClass<RuntimeInitializeOnLoadManager>("Core");
  358. //51. ScriptMapper
  359. RegisterUnityClass<ScriptMapper>("Core");
  360. //52. Shader
  361. RegisterUnityClass<Shader>("Core");
  362. //53. Skybox
  363. RegisterUnityClass<Skybox>("Core");
  364. //54. Sprite
  365. RegisterUnityClass<Sprite>("Core");
  366. //55. SpriteAtlas
  367. RegisterUnityClass<SpriteAtlas>("Core");
  368. //56. TagManager
  369. RegisterUnityClass<TagManager>("Core");
  370. //57. TextAsset
  371. RegisterUnityClass<TextAsset>("Core");
  372. //58. Texture
  373. RegisterUnityClass<Texture>("Core");
  374. //59. Texture2D
  375. RegisterUnityClass<Texture2D>("Core");
  376. //60. Texture2DArray
  377. RegisterUnityClass<Texture2DArray>("Core");
  378. //61. Texture3D
  379. RegisterUnityClass<Texture3D>("Core");
  380. //62. TimeManager
  381. RegisterUnityClass<TimeManager>("Core");
  382. //63. Transform
  383. RegisterUnityClass<Transform>("Core");
  384. //64. BoxCollider
  385. RegisterUnityClass<BoxCollider>("Physics");
  386. //65. Collider
  387. RegisterUnityClass<Collider>("Physics");
  388. //66. MeshCollider
  389. RegisterUnityClass<MeshCollider>("Physics");
  390. //67. PhysicsManager
  391. RegisterUnityClass<PhysicsManager>("Physics");
  392. //68. Rigidbody
  393. RegisterUnityClass<Rigidbody>("Physics");
  394. //69. TextRendering::Font
  395. RegisterUnityClass<TextRendering::Font>("TextRendering");
  396. //70. UI::Canvas
  397. RegisterUnityClass<UI::Canvas>("UI");
  398. //71. UI::CanvasGroup
  399. RegisterUnityClass<UI::CanvasGroup>("UI");
  400. //72. UI::CanvasRenderer
  401. RegisterUnityClass<UI::CanvasRenderer>("UI");
  402. //73. UnityConnectSettings
  403. RegisterUnityClass<UnityConnectSettings>("UnityConnect");
  404. }