ParticleVectorFieldSettings.generated.cs 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. using System.Runtime.InteropServices;
  4. namespace BansheeEngine
  5. {
  6. /** @addtogroup Particles
  7. * @{
  8. */
  9. /// <summary>Settings used for controlling a vector field in a GPU simulated particle system.</summary>
  10. public partial class ParticleVectorFieldSettings : ScriptObject
  11. {
  12. private ParticleVectorFieldSettings(bool __dummy0) { }
  13. protected ParticleVectorFieldSettings() { }
  14. /// <summary>Vector field resource used for influencing the particles.</summary>
  15. public RRef<VectorField> VectorField
  16. {
  17. get { return Internal_getvectorField(mCachedPtr); }
  18. set { Internal_setvectorField(mCachedPtr, value); }
  19. }
  20. /// <summary>Intensity of the forces and velocities applied by the vector field.</summary>
  21. public float Intensity
  22. {
  23. get { return Internal_getintensity(mCachedPtr); }
  24. set { Internal_setintensity(mCachedPtr, value); }
  25. }
  26. /// <summary>
  27. /// Determines how closely does the particle velocity follow the vectors in the field. If set to 1 particles will be
  28. /// snapped to the exact velocity of the value in the field, and if set to 0 the field will not influence particle
  29. /// velocities directly.
  30. /// </summary>
  31. public float Tightness
  32. {
  33. get { return Internal_gettightness(mCachedPtr); }
  34. set { Internal_settightness(mCachedPtr, value); }
  35. }
  36. /// <summary>
  37. /// Scale to apply to the vector field bounds. This is multiplied with the bounds of the vector field resource.
  38. /// </summary>
  39. public Vector3 Scale
  40. {
  41. get
  42. {
  43. Vector3 temp;
  44. Internal_getscale(mCachedPtr, out temp);
  45. return temp;
  46. }
  47. set { Internal_setscale(mCachedPtr, ref value); }
  48. }
  49. /// <summary>
  50. /// Amount of to move the vector field by relative to the parent particle system. This is added to the bounds provided in
  51. /// the vector field resource.
  52. /// </summary>
  53. public Vector3 Offset
  54. {
  55. get
  56. {
  57. Vector3 temp;
  58. Internal_getoffset(mCachedPtr, out temp);
  59. return temp;
  60. }
  61. set { Internal_setoffset(mCachedPtr, ref value); }
  62. }
  63. /// <summary>Initial rotation of the vector field.</summary>
  64. public Quaternion Rotation
  65. {
  66. get
  67. {
  68. Quaternion temp;
  69. Internal_getrotation(mCachedPtr, out temp);
  70. return temp;
  71. }
  72. set { Internal_setrotation(mCachedPtr, ref value); }
  73. }
  74. /// <summary>
  75. /// Determines the amount to rotate the vector field every second, in degrees, around XYZ axis respectively. Evaluated
  76. /// over the particle system lifetime.
  77. /// </summary>
  78. public Vector3Distribution RotationRate
  79. {
  80. get { return Internal_getrotationRate(mCachedPtr); }
  81. set { Internal_setrotationRate(mCachedPtr, value); }
  82. }
  83. /// <summary>
  84. /// Determines should the field influence particles outside of the field bounds. If true the field will be tiled
  85. /// infinitely in the X direction.
  86. /// </summary>
  87. public bool TilingX
  88. {
  89. get { return Internal_gettilingX(mCachedPtr); }
  90. set { Internal_settilingX(mCachedPtr, value); }
  91. }
  92. /// <summary>
  93. /// Determines should the field influence particles outside of the field bounds. If true the field will be tiled
  94. /// infinitely in the Y direction.
  95. /// </summary>
  96. public bool TilingY
  97. {
  98. get { return Internal_gettilingY(mCachedPtr); }
  99. set { Internal_settilingY(mCachedPtr, value); }
  100. }
  101. /// <summary>
  102. /// Determines should the field influence particles outside of the field bounds. If true the field will be tiled
  103. /// infinitely in the Z direction.
  104. /// </summary>
  105. public bool TilingZ
  106. {
  107. get { return Internal_gettilingZ(mCachedPtr); }
  108. set { Internal_settilingZ(mCachedPtr, value); }
  109. }
  110. [MethodImpl(MethodImplOptions.InternalCall)]
  111. private static extern RRef<VectorField> Internal_getvectorField(IntPtr thisPtr);
  112. [MethodImpl(MethodImplOptions.InternalCall)]
  113. private static extern void Internal_setvectorField(IntPtr thisPtr, RRef<VectorField> value);
  114. [MethodImpl(MethodImplOptions.InternalCall)]
  115. private static extern float Internal_getintensity(IntPtr thisPtr);
  116. [MethodImpl(MethodImplOptions.InternalCall)]
  117. private static extern void Internal_setintensity(IntPtr thisPtr, float value);
  118. [MethodImpl(MethodImplOptions.InternalCall)]
  119. private static extern float Internal_gettightness(IntPtr thisPtr);
  120. [MethodImpl(MethodImplOptions.InternalCall)]
  121. private static extern void Internal_settightness(IntPtr thisPtr, float value);
  122. [MethodImpl(MethodImplOptions.InternalCall)]
  123. private static extern void Internal_getscale(IntPtr thisPtr, out Vector3 __output);
  124. [MethodImpl(MethodImplOptions.InternalCall)]
  125. private static extern void Internal_setscale(IntPtr thisPtr, ref Vector3 value);
  126. [MethodImpl(MethodImplOptions.InternalCall)]
  127. private static extern void Internal_getoffset(IntPtr thisPtr, out Vector3 __output);
  128. [MethodImpl(MethodImplOptions.InternalCall)]
  129. private static extern void Internal_setoffset(IntPtr thisPtr, ref Vector3 value);
  130. [MethodImpl(MethodImplOptions.InternalCall)]
  131. private static extern void Internal_getrotation(IntPtr thisPtr, out Quaternion __output);
  132. [MethodImpl(MethodImplOptions.InternalCall)]
  133. private static extern void Internal_setrotation(IntPtr thisPtr, ref Quaternion value);
  134. [MethodImpl(MethodImplOptions.InternalCall)]
  135. private static extern Vector3Distribution Internal_getrotationRate(IntPtr thisPtr);
  136. [MethodImpl(MethodImplOptions.InternalCall)]
  137. private static extern void Internal_setrotationRate(IntPtr thisPtr, Vector3Distribution value);
  138. [MethodImpl(MethodImplOptions.InternalCall)]
  139. private static extern bool Internal_gettilingX(IntPtr thisPtr);
  140. [MethodImpl(MethodImplOptions.InternalCall)]
  141. private static extern void Internal_settilingX(IntPtr thisPtr, bool value);
  142. [MethodImpl(MethodImplOptions.InternalCall)]
  143. private static extern bool Internal_gettilingY(IntPtr thisPtr);
  144. [MethodImpl(MethodImplOptions.InternalCall)]
  145. private static extern void Internal_settilingY(IntPtr thisPtr, bool value);
  146. [MethodImpl(MethodImplOptions.InternalCall)]
  147. private static extern bool Internal_gettilingZ(IntPtr thisPtr);
  148. [MethodImpl(MethodImplOptions.InternalCall)]
  149. private static extern void Internal_settilingZ(IntPtr thisPtr, bool value);
  150. }
  151. /** @} */
  152. }