feat: Settings menu functionality
This commit is contained in:
parent
a8d3544de7
commit
8382700441
5 changed files with 195 additions and 0 deletions
8
Assets/Audio.meta
Normal file
8
Assets/Audio.meta
Normal file
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 281d483c02e3af84d850ffa4367443a3
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
142
Assets/Audio/MainMixer.mixer
Normal file
142
Assets/Audio/MainMixer.mixer
Normal file
|
@ -0,0 +1,142 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!243 &-7160213631606786143
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Music
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 368ea2813ad52084fb26726926ce27f6
|
||||
m_Children: []
|
||||
m_Volume: 725f4f70ac35cfa469dde004084af0ee
|
||||
m_Pitch: f337aba7af13f6a4f988c470fad714bb
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: -4409933510484433384}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!244 &-4409933510484433384
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: ed152c53560707d4e94edb5e2ac4f888
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: 38d0be799db8cdc42adff4256ff56784
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!243 &-3553563078259493616
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: SFX
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 6da9bf99c784a0d439b29e46d5f2094b
|
||||
m_Children: []
|
||||
m_Volume: 7faa3be3dcd5a434998f419db9708169
|
||||
m_Pitch: a475cc8c54f6dcf4699c036293414b3c
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: -273637595845761401}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!244 &-273637595845761401
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 1ec5583d7db4d3745b9f3712c7210656
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: 900ab2eb5320cba4a93462b5e230224e
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!241 &24100000
|
||||
AudioMixerController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: MainMixer
|
||||
m_OutputGroup: {fileID: 0}
|
||||
m_MasterGroup: {fileID: 24300002}
|
||||
m_Snapshots:
|
||||
- {fileID: 24500006}
|
||||
m_StartSnapshot: {fileID: 24500006}
|
||||
m_SuspendThreshold: -80
|
||||
m_EnableSuspend: 1
|
||||
m_UpdateMode: 0
|
||||
m_ExposedParameters:
|
||||
- guid: 725f4f70ac35cfa469dde004084af0ee
|
||||
name: Music
|
||||
- guid: 7faa3be3dcd5a434998f419db9708169
|
||||
name: SFX
|
||||
m_AudioMixerGroupViews:
|
||||
- guids:
|
||||
- b2dec02194d0b114a8361a68cb71d5ab
|
||||
- 368ea2813ad52084fb26726926ce27f6
|
||||
- 6da9bf99c784a0d439b29e46d5f2094b
|
||||
name: View
|
||||
m_CurrentViewIndex: 0
|
||||
m_TargetSnapshot: {fileID: 24500006}
|
||||
--- !u!243 &24300002
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Master
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: b2dec02194d0b114a8361a68cb71d5ab
|
||||
m_Children:
|
||||
- {fileID: -7160213631606786143}
|
||||
- {fileID: -3553563078259493616}
|
||||
m_Volume: 2e11bea9df9faf54dbed06a1de08b32c
|
||||
m_Pitch: 24c916b38f3938e459200f97d154eab4
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: 24400004}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!244 &24400004
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 79704c03dfccc8d49b37fb9f049f7002
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: a92d07ee2e1e0254f95ed8aaa7499935
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!245 &24500006
|
||||
AudioMixerSnapshotController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Snapshot
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_SnapshotID: 40d692ffdb9e1dc409fe16f0a5c11f0b
|
||||
m_FloatValues: {}
|
||||
m_TransitionOverrides: {}
|
8
Assets/Audio/MainMixer.mixer.meta
Normal file
8
Assets/Audio/MainMixer.mixer.meta
Normal file
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: fd8d4f04926f4a641b45bf06667f3761
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 24100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -684,6 +684,10 @@ MonoBehaviour:
|
|||
settingsUIGroup: {fileID: 1318041772}
|
||||
closeSettingsButton: {fileID: 928064089}
|
||||
transitionDuration: 0.25
|
||||
musicToggle: {fileID: 557112855}
|
||||
sfxToggle: {fileID: 1000034091}
|
||||
alwaysOnTopToggle: {fileID: 2076377159}
|
||||
mainMixer: {fileID: 24100000, guid: fd8d4f04926f4a641b45bf06667f3761, type: 2}
|
||||
--- !u!1 &379057220
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
using System;
|
||||
using DG.Tweening;
|
||||
using SatorImaging.AppWindowUtility;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Audio;
|
||||
using UnityEngine.Serialization;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace View.UI {
|
||||
|
@ -15,9 +18,39 @@ namespace View.UI {
|
|||
[Space]
|
||||
[SerializeField] private float transitionDuration = .5f;
|
||||
|
||||
[Space]
|
||||
[SerializeField] private Toggle musicToggle;
|
||||
[SerializeField] private Toggle sfxToggle;
|
||||
[SerializeField] private Toggle alwaysOnTopToggle;
|
||||
|
||||
[Space]
|
||||
[SerializeField] private AudioMixer mainMixer;
|
||||
|
||||
private void Awake() {
|
||||
openSettingsButton.onClick.AddListener(OpenSettings);
|
||||
closeSettingsButton.onClick.AddListener(CloseSettings);
|
||||
|
||||
musicToggle.onValueChanged.AddListener(MusicStateChange);
|
||||
sfxToggle.onValueChanged.AddListener(SFXStateChange);
|
||||
alwaysOnTopToggle.onValueChanged.AddListener(AlwaysOnTopStateChange);
|
||||
}
|
||||
|
||||
private void AlwaysOnTopStateChange(bool state) {
|
||||
AppWindowUtility.AlwaysOnTop = state;
|
||||
}
|
||||
|
||||
private void SFXStateChange(bool state) {
|
||||
if (state)
|
||||
mainMixer.SetFloat("SFX", Mathf.Log10(1f) * 20);
|
||||
else
|
||||
mainMixer.SetFloat("SFX", Mathf.Log10(.0001f) * 20);
|
||||
}
|
||||
|
||||
private void MusicStateChange(bool state) {
|
||||
if (state)
|
||||
mainMixer.SetFloat("Music", Mathf.Log10(1f) * 20);
|
||||
else
|
||||
mainMixer.SetFloat("Music", Mathf.Log10(.0001f) * 20);
|
||||
}
|
||||
|
||||
private void OpenSettings() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue