ParticleVectorFieldSettings.generated.cs 6.5 KB

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