CAudioSource.generated.cs 6.6 KB

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