Christopher
8 years ago
10 changed files with 95 additions and 69 deletions
@ -0,0 +1,45 @@
|
||||
using UnityEngine; |
||||
|
||||
namespace Fungus |
||||
{ |
||||
/// <summary> |
||||
/// Music manager which provides basic music and sound effect functionality. |
||||
/// Music playback persists across scene loads. |
||||
/// </summary> |
||||
public interface IMusicController |
||||
{ |
||||
/// <summary> |
||||
/// Plays game music using an audio clip. |
||||
/// One music clip may be played at a time. |
||||
/// </summary> |
||||
void PlayMusic(AudioClip musicClip, bool loop, float fadeDuration, float atTime); |
||||
|
||||
/// <summary> |
||||
/// Plays a sound effect once, at the specified volume. |
||||
/// </summary> |
||||
/// <param name="soundClip">The sound effect clip to play.</param> |
||||
/// <param name="volume">The volume level of the sound effect.</param> |
||||
void PlaySound(AudioClip soundClip, float volume); |
||||
|
||||
/// <summary> |
||||
/// Shifts the game music pitch to required value over a period of time. |
||||
/// </summary> |
||||
/// <param name="pitch">The new music pitch value.</param> |
||||
/// <param name="duration">The length of time in seconds needed to complete the pitch change.</param> |
||||
/// <param name="onComplete">A delegate method to call when the pitch shift has completed.</param> |
||||
void SetAudioPitch(float pitch, float duration, System.Action onComplete); |
||||
|
||||
/// <summary> |
||||
/// Fades the game music volume to required level over a period of time. |
||||
/// </summary> |
||||
/// <param name="volume">The new music volume value [0..1]</param> |
||||
/// <param name="duration">The length of time in seconds needed to complete the volume change.</param> |
||||
/// <param name="onComplete">Delegate function to call when fade completes.</param> |
||||
void SetAudioVolume(float volume, float duration, System.Action onComplete); |
||||
|
||||
/// <summary> |
||||
/// Stops playing game music. |
||||
/// </summary> |
||||
void StopMusic(); |
||||
} |
||||
} |
@ -0,0 +1,12 @@
|
||||
fileFormatVersion: 2 |
||||
guid: efedec0242be143678aaa7075aa5467e |
||||
timeCreated: 1473429999 |
||||
licenseType: Free |
||||
MonoImporter: |
||||
serializedVersion: 2 |
||||
defaultReferences: [] |
||||
executionOrder: 0 |
||||
icon: {instanceID: 0} |
||||
userData: |
||||
assetBundleName: |
||||
assetBundleVariant: |
Loading…
Reference in new issue