private void Awake() { if (enterPlayer == null) { enterPlayer = new AudioEvents(); } }
// Internal - Used by AudioBankMounter // If bankName is not loaded, loads it and sets the ref count to one // Otherwise it just increments the ref count public void LoadEventBank(string bankName) { if (BankReferenceCounts.ContainsKey(bankName)) { BankReferenceCounts[bankName] += 1; return; } BankReferenceCounts[bankName] = 1; var bank = Resources.Load(bankName, typeof(AudioEventBank)) as AudioEventBank; if (bank == null) { Debug.Log("Failed to load audio bank " + bankName); return; } if (LogBankLoads) { Debug.Log("Loading bank " + bankName); } foreach (var se in bank.AudioEvents) { if (!AudioEvents.ContainsKey(se.EventName)) { AudioEvents[se.EventName] = new List <AudioEvent>(); } se.BankName = bankName; AudioEvents[se.EventName].Add(se); } }
// Internal - Used by AudioBankMounter // Decrements the reference count on the bank named bankName // If it hits zero, unloads it public void UnloadEventBank(string bankName) { if (BankReferenceCounts.ContainsKey(bankName)) { BankReferenceCounts[bankName] -= 1; if (BankReferenceCounts[bankName] <= 0) { BankReferenceCounts.Remove(bankName); Debug.Log("AudioManager: Unload bank " + bankName); var keysToDelete = new List <string>(); foreach (var kvp in AudioEvents) { kvp.Value.RemoveAll(e => e.BankName == bankName); if (kvp.Value.Count == 0) { keysToDelete.Add(kvp.Key); } } foreach (var k in keysToDelete) { AudioEvents.Remove(k); } } } }
// Called when we, from our code, send an event public void Raise(AudioEvents eventType, Vector2 position) { // Back to front so we can unsubscribe from within the loop and still be ok for (int i = listeners.Count - 1; i >= 0; i--) { listeners[i].OnEventRaised(eventType, position); // Notifies GameEventListenerFloat that this event has been fired } }
private void OnCollisionEnter(Collision collision) { AudioEvents.PlayAt(collision.contacts[0].point); var turret = collision.gameObject.GetComponent <TurretBehavior>(); if (turret) { StopAllCoroutines(); } }
private void Awake() { movement = GetComponent <IMovement>(); particleSys = GetComponent <ParticleSystem>(); mesh = gameObject.GetComponent <MeshRenderer>(); if (playerDestroy == null) { playerDestroy = new AudioEvents(); } if (gameWin == null) { gameWin = new AudioEvents(); } }
/// Recursively look up an event in the loaded banks, chopping bits off the audio event name until a match is found. /// If there are multiple AudioEvents with the same trigger, does weighted randomisation. AudioEvent GetSoundForEvent(string audioEventName) { if (LogLookups) { Debug.Log("$$$Looking for sound event " + audioEventName); } List <AudioEvent> events; if (AudioEvents.TryGetValue(audioEventName, out events)) { AudioEvent audioEvent; //If we have more than one event, get a weighted, random one. if (events.Count > 1) { audioEvent = GetRandomEvent(events); } else { audioEvent = events[0]; } if (LogLookups) { Debug.Log("$$$Found sound event " + audioEventName); } return(audioEvent); } else { var splitLocation = audioEventName.IndexOf(AudioEventSeparator); if (splitLocation >= 0 && splitLocation + 1 < audioEventName.Length) { var newEv = audioEventName.Substring(splitLocation + 1); return(GetSoundForEvent(newEv)); } } return(null); }
public void Play(AudioEvents audioEvent, Vector2 pos) { var eventAudioPlayersList = audioPlayers[audioEvent]; var eventAudioPlayers = eventAudioPlayersList[Random.Range(0, eventAudioPlayersList.Count)]; foreach (var ap in eventAudioPlayers) { if (!ap.AudioSource.isPlaying && player) { float distance = Vector2.Distance(player.transform.position, pos); var aE = ap.AudioEventEmiter; distance = aE.volumeFalloff.keys[aE.volumeFalloff.keys.Length - 1].value > distance ? aE.volumeFalloff.keys[aE.volumeFalloff.keys.Length - 1].value : distance; ap.AudioSource.volume = aE.volume * aE.volumeFalloff.Evaluate(distance) * masterVolume * effectsVolume; ap.AudioSource.pitch = Random.Range(ap.AudioEventEmiter.minPitch, ap.AudioEventEmiter.maxPitch); ap.AudioSource.Play( ); break; } } }
public static void PlayWin() { AudioEvents.PlaySound("win"); }
public static void PlayLose() { AudioEvents.PlaySound("lose"); }
// Use this for initialization void Start() { audioEvents = GetComponent<AudioEvents>(); }
public static void Restart() { AudioEvents.Restart(); }
void OnSelectionChange() { if(Selection.activeGameObject != null){ AudioEvents tmpAudioEvents = Selection.activeGameObject.GetComponent<AudioEvents>(); if(tmpAudioEvents != null && tmpAudioEvents.GetComponent<AudioSource>().clip != null){ audioEvents = tmpAudioEvents; clip = audioEvents.GetComponent<AudioSource>().clip; RecreateCurvePoints(); CreateTriggers(); GenerateAudioTexture(); } else{ audioEvents = null; } } doRepaint = true; }
public static void PlayPlop() { AudioEvents.PlaySound("plop"); }
// This is called by UnityEventFloat when the event is fired public void OnEventRaised(AudioEvents eventType, Vector2 position) { response.Invoke(eventType, position); }
public static void Pause() { AudioEvents.Pause(); }
public static void PlayGoal() { AudioEvents.PlaySound("goal"); }
public static void PlayClick() { AudioEvents.PlaySound("misc_menu"); }
private async Task Implement(AudioEvents eventName) { await JSRuntime.InvokeVoidAsync("window.CustomEventHandler", Id, eventName.ToString().ToLower(), AudioState.GetPayload()); }
public static void UnPause() { AudioEvents.UnPause(); }