CAudioSource.generated.cs 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. using System.Runtime.InteropServices;
  4. namespace BansheeEngine
  5. {
  6. /** @addtogroup Audio
  7. * @{
  8. */
  9. /// <summary>
  10. /// Represents a source for emitting audio. Audio can be played spatially (gun shot), or normally (music). Each audio
  11. /// source must have an AudioClip to play-back, and it can also have a position in the case of spatial (3D) audio.
  12. ///
  13. /// Whether or not an audio source is spatial is controlled by the assigned AudioClip. The volume and the pitch of a
  14. /// spatial audio source is controlled by its position and the AudioListener's position/direction/velocity.
  15. /// </summary>
  16. [ShowInInspector]
  17. public partial class AudioSource : Component
  18. {
  19. private AudioSource(bool __dummy0) { }
  20. protected AudioSource() { }
  21. /// <summary>Audio clip to play.</summary>
  22. [ShowInInspector]
  23. public RRef<AudioClip> Clip
  24. {
  25. get { return Internal_getClip(mCachedPtr); }
  26. set { Internal_setClip(mCachedPtr, value); }
  27. }
  28. /// <summary>Volume of the audio played from this source, in [0, 1] range.</summary>
  29. [ShowInInspector]
  30. public float Volume
  31. {
  32. get { return Internal_getVolume(mCachedPtr); }
  33. set { Internal_setVolume(mCachedPtr, value); }
  34. }
  35. /// <summary>Determines the pitch of the played audio. 1 is the default.</summary>
  36. [ShowInInspector]
  37. public float Pitch
  38. {
  39. get { return Internal_getPitch(mCachedPtr); }
  40. set { Internal_setPitch(mCachedPtr, value); }
  41. }
  42. /// <summary>Determines whether the audio clip should loop when it finishes playing.</summary>
  43. [ShowInInspector]
  44. public bool Loop
  45. {
  46. get { return Internal_getIsLooping(mCachedPtr); }
  47. set { Internal_setIsLooping(mCachedPtr, value); }
  48. }
  49. /// <summary>
  50. /// Determines the priority of the audio source. If more audio sources are playing than supported by the hardware, some
  51. /// might get disabled. By setting a higher priority the audio source is guaranteed to be disabled after sources with
  52. /// lower priority.
  53. /// </summary>
  54. [ShowInInspector]
  55. public uint Priority
  56. {
  57. get { return Internal_getPriority(mCachedPtr); }
  58. set { Internal_setPriority(mCachedPtr, value); }
  59. }
  60. /// <summary>
  61. /// Minimum distance at which audio attenuation starts. When the listener is closer to the source than this value, audio
  62. /// is heard at full volume. Once farther away the audio starts attenuating.
  63. /// </summary>
  64. [ShowInInspector]
  65. public float MinDistance
  66. {
  67. get { return Internal_getMinDistance(mCachedPtr); }
  68. set { Internal_setMinDistance(mCachedPtr, value); }
  69. }
  70. /// <summary>
  71. /// Attenuation that controls how quickly does audio volume drop off as the listener moves further from the source.
  72. /// </summary>
  73. [ShowInInspector]
  74. public float Attenuation
  75. {
  76. get { return Internal_getAttenuation(mCachedPtr); }
  77. set { Internal_setAttenuation(mCachedPtr, value); }
  78. }
  79. /// <summary>
  80. /// Determines the current time of playback. If playback hasn't yet started, it specifies the time at which playback will
  81. /// start at. The time is in seconds, in range [0, clipLength].
  82. /// </summary>
  83. [ShowInInspector]
  84. public float Time
  85. {
  86. get { return Internal_getTime(mCachedPtr); }
  87. set { Internal_setTime(mCachedPtr, value); }
  88. }
  89. /// <summary>Sets whether playback should start as soon as the component is enabled.</summary>
  90. [ShowInInspector]
  91. public bool PlayOnStart
  92. {
  93. get { return Internal_getPlayOnStart(mCachedPtr); }
  94. set { Internal_setPlayOnStart(mCachedPtr, value); }
  95. }
  96. /// <summary>Returns the current state of the audio playback (playing/paused/stopped).</summary>
  97. [ShowInInspector]
  98. public AudioSourceState State
  99. {
  100. get { return Internal_getState(mCachedPtr); }
  101. }
  102. /// <summary>Starts playing the currently assigned audio clip.</summary>
  103. public void Play()
  104. {
  105. Internal_play(mCachedPtr);
  106. }
  107. /// <summary>Pauses the audio playback.</summary>
  108. public void Pause()
  109. {
  110. Internal_pause(mCachedPtr);
  111. }
  112. /// <summary>Stops audio playback, rewinding it to the start.</summary>
  113. public void Stop()
  114. {
  115. Internal_stop(mCachedPtr);
  116. }
  117. [MethodImpl(MethodImplOptions.InternalCall)]
  118. private static extern void Internal_setClip(IntPtr thisPtr, RRef<AudioClip> clip);
  119. [MethodImpl(MethodImplOptions.InternalCall)]
  120. private static extern RRef<AudioClip> Internal_getClip(IntPtr thisPtr);
  121. [MethodImpl(MethodImplOptions.InternalCall)]
  122. private static extern void Internal_setVolume(IntPtr thisPtr, float volume);
  123. [MethodImpl(MethodImplOptions.InternalCall)]
  124. private static extern float Internal_getVolume(IntPtr thisPtr);
  125. [MethodImpl(MethodImplOptions.InternalCall)]
  126. private static extern void Internal_setPitch(IntPtr thisPtr, float pitch);
  127. [MethodImpl(MethodImplOptions.InternalCall)]
  128. private static extern float Internal_getPitch(IntPtr thisPtr);
  129. [MethodImpl(MethodImplOptions.InternalCall)]
  130. private static extern void Internal_setIsLooping(IntPtr thisPtr, bool loop);
  131. [MethodImpl(MethodImplOptions.InternalCall)]
  132. private static extern bool Internal_getIsLooping(IntPtr thisPtr);
  133. [MethodImpl(MethodImplOptions.InternalCall)]
  134. private static extern void Internal_setPriority(IntPtr thisPtr, uint priority);
  135. [MethodImpl(MethodImplOptions.InternalCall)]
  136. private static extern uint Internal_getPriority(IntPtr thisPtr);
  137. [MethodImpl(MethodImplOptions.InternalCall)]
  138. private static extern void Internal_setMinDistance(IntPtr thisPtr, float distance);
  139. [MethodImpl(MethodImplOptions.InternalCall)]
  140. private static extern float Internal_getMinDistance(IntPtr thisPtr);
  141. [MethodImpl(MethodImplOptions.InternalCall)]
  142. private static extern void Internal_setAttenuation(IntPtr thisPtr, float attenuation);
  143. [MethodImpl(MethodImplOptions.InternalCall)]
  144. private static extern float Internal_getAttenuation(IntPtr thisPtr);
  145. [MethodImpl(MethodImplOptions.InternalCall)]
  146. private static extern void Internal_setTime(IntPtr thisPtr, float time);
  147. [MethodImpl(MethodImplOptions.InternalCall)]
  148. private static extern float Internal_getTime(IntPtr thisPtr);
  149. [MethodImpl(MethodImplOptions.InternalCall)]
  150. private static extern void Internal_setPlayOnStart(IntPtr thisPtr, bool enable);
  151. [MethodImpl(MethodImplOptions.InternalCall)]
  152. private static extern bool Internal_getPlayOnStart(IntPtr thisPtr);
  153. [MethodImpl(MethodImplOptions.InternalCall)]
  154. private static extern void Internal_play(IntPtr thisPtr);
  155. [MethodImpl(MethodImplOptions.InternalCall)]
  156. private static extern void Internal_pause(IntPtr thisPtr);
  157. [MethodImpl(MethodImplOptions.InternalCall)]
  158. private static extern void Internal_stop(IntPtr thisPtr);
  159. [MethodImpl(MethodImplOptions.InternalCall)]
  160. private static extern AudioSourceState Internal_getState(IntPtr thisPtr);
  161. }
  162. /** @} */
  163. }