Audio Support, Speed shift music, AudioProvider.Unk/Bunk

Also AudioHelper.SetVolume's
This commit is contained in:
Texel 2020-08-22 07:13:21 -04:00
parent af9d68b631
commit 5c5a9d2993
2 changed files with 43 additions and 4 deletions

View file

@ -2,6 +2,8 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
using EntityNetwork;
public class AudioProvider : EntityBase, IAutoRegister
@ -12,14 +14,48 @@ public class AudioProvider : EntityBase, IAutoRegister
Instance = this;
bgmSrc = GetComponent<AudioSource>();
UnkClip = Resources.Load<AudioClip>("Unk");
BunkClip = Resources.Load<AudioClip>("Bunk");
}
public float musicSpeed = 1f;
AudioSource bgmSrc;
public bool fastBGM = false;
[ContextMenu("Speedup Music for 5s")]
public void SpeedupForFiveSeconds() {
Instance.fastBGM = true;
timeUntilSlow = Time.time + 5f;
}
public static float timeUntilSlow = 0f;
public static void RequestFastMusic() {
Instance.fastBGM = true;
timeUntilSlow = Time.time + 3f;
}
static AudioClip UnkClip, BunkClip;
public static void Unk() {
PlaySFX(UnkClip, AudioHelper.AudioCategory.Fx);
}
public static void Bunk() {
PlaySFX(BunkClip, AudioHelper.AudioCategory.Fx);
}
public void Update() {
// TODO - This is WIP help
//bgmSrc.outputAudioMixerGroup.
bgmSrc.loop = true;
bgmSrc.volume = AudioHelper.VolumeLevel(AudioHelper.AudioCategory.Music);
bgmSrc.pitch = fastBGM ? 1.3333f : 1f;
bgmSrc.outputAudioMixerGroup.audioMixer.SetFloat("ShiftPitch", fastBGM ? 0.75f : 1f);
if (Time.time > timeUntilSlow)
fastBGM = false;
}
int lastAudioFrame = 0;