CParticleSystem.generated.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. using System.Runtime.InteropServices;
  4. namespace BansheeEngine
  5. {
  6. /** @addtogroup Particles
  7. * @{
  8. */
  9. /// <summary>
  10. /// Controls spawning, evolution and rendering of particles. Particles can be 2D or 3D, with a variety of rendering
  11. /// options. Particle system should be used for rendering objects that cannot properly be represented using static or
  12. /// animated meshes, like liquids, smoke or flames.
  13. ///
  14. /// The particle system requires you to specify at least one ParticleEmitter, which controls how are new particles
  15. /// generated. You will also want to specify one or more ParticleEvolver%s, which change particle properties over time.
  16. /// </summary>
  17. [ShowInInspector]
  18. public partial class ParticleSystem : Component
  19. {
  20. private ParticleSystem(bool __dummy0) { }
  21. protected ParticleSystem() { }
  22. /// <summary>Determines general purpose settings that apply to the particle system.</summary>
  23. [ShowInInspector]
  24. [NotNull]
  25. [PassByCopy]
  26. [NativeWrapper]
  27. public ParticleSystemSettings Settings
  28. {
  29. get { return Internal_getSettings(mCachedPtr); }
  30. set { Internal_setSettings(mCachedPtr, value); }
  31. }
  32. /// <summary>Determines settings that control particle GPU simulation.</summary>
  33. [ShowInInspector]
  34. [NotNull]
  35. [PassByCopy]
  36. [NativeWrapper]
  37. public ParticleGpuSimulationSettings GpuSimulationSettings
  38. {
  39. get { return Internal_getGpuSimulationSettings(mCachedPtr); }
  40. set { Internal_setGpuSimulationSettings(mCachedPtr, value); }
  41. }
  42. /// <summary>
  43. /// Set of objects that determine initial position, normal and other properties of newly spawned particles. Each particle
  44. /// system must have at least one emitter.
  45. /// </summary>
  46. [ShowInInspector]
  47. [NativeWrapper]
  48. public ParticleEmitter[] Emitters
  49. {
  50. get { return Internal_getEmitters(mCachedPtr); }
  51. set { Internal_setEmitters(mCachedPtr, value); }
  52. }
  53. /// <summary>
  54. /// Set of objects that determine how particle properties change during their lifetime. Evolvers only affect CPU
  55. /// simulated particles.
  56. /// </summary>
  57. [ShowInInspector]
  58. [NativeWrapper]
  59. public ParticleEvolver[] Evolvers
  60. {
  61. get { return Internal_getEvolvers(mCachedPtr); }
  62. set { Internal_setEvolvers(mCachedPtr, value); }
  63. }
  64. /// <summary>
  65. /// Determines the layer bitfield that controls whether a system is considered visible in a specific camera. Layer must
  66. /// match camera layer in order for the camera to render the component.
  67. /// </summary>
  68. [ShowInInspector]
  69. [NativeWrapper]
  70. public ulong Layer
  71. {
  72. get { return Internal_getLayer(mCachedPtr); }
  73. set { Internal_setLayer(mCachedPtr, value); }
  74. }
  75. [MethodImpl(MethodImplOptions.InternalCall)]
  76. private static extern void Internal_setSettings(IntPtr thisPtr, ParticleSystemSettings settings);
  77. [MethodImpl(MethodImplOptions.InternalCall)]
  78. private static extern ParticleSystemSettings Internal_getSettings(IntPtr thisPtr);
  79. [MethodImpl(MethodImplOptions.InternalCall)]
  80. private static extern void Internal_setGpuSimulationSettings(IntPtr thisPtr, ParticleGpuSimulationSettings settings);
  81. [MethodImpl(MethodImplOptions.InternalCall)]
  82. private static extern ParticleGpuSimulationSettings Internal_getGpuSimulationSettings(IntPtr thisPtr);
  83. [MethodImpl(MethodImplOptions.InternalCall)]
  84. private static extern void Internal_setEmitters(IntPtr thisPtr, ParticleEmitter[] emitters);
  85. [MethodImpl(MethodImplOptions.InternalCall)]
  86. private static extern ParticleEmitter[] Internal_getEmitters(IntPtr thisPtr);
  87. [MethodImpl(MethodImplOptions.InternalCall)]
  88. private static extern void Internal_setEvolvers(IntPtr thisPtr, ParticleEvolver[] evolvers);
  89. [MethodImpl(MethodImplOptions.InternalCall)]
  90. private static extern ParticleEvolver[] Internal_getEvolvers(IntPtr thisPtr);
  91. [MethodImpl(MethodImplOptions.InternalCall)]
  92. private static extern void Internal_setLayer(IntPtr thisPtr, ulong layer);
  93. [MethodImpl(MethodImplOptions.InternalCall)]
  94. private static extern ulong Internal_getLayer(IntPtr thisPtr);
  95. }
  96. /** @} */
  97. }