ParticleVectorFieldSettings.generated.cs 6.0 KB

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