CParticleSystem.generated.cs 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. public ParticleSystemSettings Settings
  25. {
  26. get { return Internal_getSettings(mCachedPtr); }
  27. set { Internal_setSettings(mCachedPtr, value); }
  28. }
  29. /// <summary>Determines settings that control particle GPU simulation.</summary>
  30. [ShowInInspector]
  31. public ParticleGpuSimulationSettings GpuSimulationSettings
  32. {
  33. get { return Internal_getGpuSimulationSettings(mCachedPtr); }
  34. set { Internal_setGpuSimulationSettings(mCachedPtr, value); }
  35. }
  36. /// <summary>
  37. /// Set of objects that determine initial position, normal and other properties of newly spawned particles. Each particle
  38. /// system must have at least one emitter.
  39. /// </summary>
  40. [ShowInInspector]
  41. public ParticleEmitter[] Emitters
  42. {
  43. get { return Internal_getEmitters(mCachedPtr); }
  44. set { Internal_setEmitters(mCachedPtr, value); }
  45. }
  46. /// <summary>
  47. /// Set of objects that determine how particle properties change during their lifetime. Evolvers only affect CPU
  48. /// simulated particles.
  49. /// </summary>
  50. [ShowInInspector]
  51. public ParticleEvolver[] Evolvers
  52. {
  53. get { return Internal_getEvolvers(mCachedPtr); }
  54. set { Internal_setEvolvers(mCachedPtr, value); }
  55. }
  56. /// <summary>
  57. /// Determines the layer bitfield that controls whether a system is considered visible in a specific camera. Layer must
  58. /// match camera layer in order for the camera to render the component.
  59. /// </summary>
  60. [ShowInInspector]
  61. public ulong Layer
  62. {
  63. get { return Internal_getLayer(mCachedPtr); }
  64. set { Internal_setLayer(mCachedPtr, value); }
  65. }
  66. [MethodImpl(MethodImplOptions.InternalCall)]
  67. private static extern void Internal_setSettings(IntPtr thisPtr, ParticleSystemSettings settings);
  68. [MethodImpl(MethodImplOptions.InternalCall)]
  69. private static extern ParticleSystemSettings Internal_getSettings(IntPtr thisPtr);
  70. [MethodImpl(MethodImplOptions.InternalCall)]
  71. private static extern void Internal_setGpuSimulationSettings(IntPtr thisPtr, ParticleGpuSimulationSettings settings);
  72. [MethodImpl(MethodImplOptions.InternalCall)]
  73. private static extern ParticleGpuSimulationSettings Internal_getGpuSimulationSettings(IntPtr thisPtr);
  74. [MethodImpl(MethodImplOptions.InternalCall)]
  75. private static extern void Internal_setEmitters(IntPtr thisPtr, ParticleEmitter[] emitters);
  76. [MethodImpl(MethodImplOptions.InternalCall)]
  77. private static extern ParticleEmitter[] Internal_getEmitters(IntPtr thisPtr);
  78. [MethodImpl(MethodImplOptions.InternalCall)]
  79. private static extern void Internal_setEvolvers(IntPtr thisPtr, ParticleEvolver[] evolvers);
  80. [MethodImpl(MethodImplOptions.InternalCall)]
  81. private static extern ParticleEvolver[] Internal_getEvolvers(IntPtr thisPtr);
  82. [MethodImpl(MethodImplOptions.InternalCall)]
  83. private static extern void Internal_setLayer(IntPtr thisPtr, ulong layer);
  84. [MethodImpl(MethodImplOptions.InternalCall)]
  85. private static extern ulong Internal_getLayer(IntPtr thisPtr);
  86. }
  87. /** @} */
  88. }