using UnityEngine; public class RevertSettingsChanges : MonoBehaviour { SaveFileManager saveInfo; SettingsControl settingsControl; private void Start() { saveInfo = GameObject.Find("Persistent Object").GetComponent<SaveFileManager>(); settingsControl = transform.parent.gameObject.GetComponent<SettingsControl>(); } public void RevertOnPress() { //when leaving the settings menu without applying, this will revert the volume values back to what they were before changes were made float[] savedVolumes = saveInfo.volumes; float[] currentVolumes = new float[4]; currentVolumes[0] = settingsControl.GetMasterVolume(); currentVolumes[1] = settingsControl.GetEnvVolume(); currentVolumes[2] = settingsControl.GetMusicVolume(); currentVolumes[3] = settingsControl.GetSFXVolume(); for (int i = 0; i < 4; i++) { savedVolumes[i] = Mathf.RoundToInt(savedVolumes[i]); if (savedVolumes[i] != currentVolumes[i]) { settingsControl.ModifyAllVolumes(savedVolumes[0], savedVolumes[1], savedVolumes[2], savedVolumes[3]); break; } } } }