added initial logic for the volume sliders

This commit is contained in:
Timur Nizamov
2025-12-02 22:40:17 +02:00
parent 0b4854373b
commit f414e10d94
43 changed files with 365 additions and 422 deletions

View File

@@ -110,8 +110,8 @@ public class CarDrivingRoutine : NetworkBehaviour
{;
if (other.GetComponentInParent<XRPlayerMirror>() == null) return;
StartCoroutine(SmoothAdjustSpeed(0, 0, haltspeed)); // Smoothly halt in 1 second
_tireSound.Stop();
_stopSound.Play();
//_tireSound.Stop();
//_stopSound.Play();
AudioController.SetRPM(475);
AudioController.PlayStopSound();
@@ -122,8 +122,8 @@ public class CarDrivingRoutine : NetworkBehaviour
{
if (other.GetComponentInParent<XRPlayerMirror>() == null) return;
StartCoroutine(SmoothAdjustSpeed(targetSpeed, targetRotationSpeed, haltspeed)); // Smoothly resume speed in 1 second
_stopSound.Stop();
_tireSound.Play();
//_stopSound.Stop();
//_tireSound.Play();
AudioController.SetRPM(1450);

View File

@@ -694,6 +694,7 @@ GameObject:
- component: {fileID: 5331342604379454603}
- component: {fileID: 1866864886208815}
- component: {fileID: 6596783065788885589}
- component: {fileID: 2714778319450199886}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
@@ -820,6 +821,19 @@ MonoBehaviour:
minValue: 0
maxValue: 1
slideareaOffsetMultiplier: 0.9
--- !u!114 &2714778319450199886
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 829665037849699668}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 2
--- !u!1 &829695359259357513
GameObject:
m_ObjectHideFlags: 0
@@ -1465,6 +1479,7 @@ GameObject:
- component: {fileID: 8149783172932780154}
- component: {fileID: 7017778607745474649}
- component: {fileID: 2708450618333126782}
- component: {fileID: 6631830758558507073}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
@@ -1591,6 +1606,19 @@ MonoBehaviour:
minValue: 0
maxValue: 1
slideareaOffsetMultiplier: 0.9
--- !u!114 &6631830758558507073
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1371473744446131600}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 3
--- !u!1 &1451224546718335135
GameObject:
m_ObjectHideFlags: 0
@@ -4720,6 +4748,7 @@ GameObject:
- component: {fileID: 3702309226689803558}
- component: {fileID: 6841033323124689675}
- component: {fileID: 6619092689880446435}
- component: {fileID: 5831180822224317918}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
@@ -4846,6 +4875,19 @@ MonoBehaviour:
minValue: 0
maxValue: 1
slideareaOffsetMultiplier: 0.9
--- !u!114 &5831180822224317918
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4757451720330744469}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 0
--- !u!1 &4815518641921404370
GameObject:
m_ObjectHideFlags: 0
@@ -6575,6 +6617,7 @@ GameObject:
- component: {fileID: 6392076320775958587}
- component: {fileID: 8533604835838269795}
- component: {fileID: 221982658494184569}
- component: {fileID: 5486814484665002793}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
@@ -6701,6 +6744,19 @@ MonoBehaviour:
minValue: 0
maxValue: 1
slideareaOffsetMultiplier: 0.9
--- !u!114 &5486814484665002793
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6661887633723237894}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 1
--- !u!1 &6802548334697868303
GameObject:
m_ObjectHideFlags: 0
@@ -7952,6 +8008,7 @@ GameObject:
- component: {fileID: 7710393525849749537}
- component: {fileID: 9065530914213283711}
- component: {fileID: 1194791598480229312}
- component: {fileID: 7987415785522350763}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
@@ -8078,6 +8135,19 @@ MonoBehaviour:
minValue: 0
maxValue: 1
slideareaOffsetMultiplier: 0.9
--- !u!114 &7987415785522350763
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8391231543345548430}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 4
--- !u!1 &8436046511908584062
GameObject:
m_ObjectHideFlags: 0

View File

@@ -34,6 +34,18 @@ public class AudioSliderDragHandler : MonoBehaviour, IBeginDragHandler, IDragHan
UpdateSlider(eventData);
}
public void SetHandlePosition(float normalizedValue)
{
float halfWidth = sliderBackground.rect.width * 0.5f;
float limit = halfWidth * slideareaOffsetMultiplier;
float x = Mathf.Lerp(-limit, limit, normalizedValue);
handleRect.localPosition = new Vector3(x, handleRect.localPosition.y, 0);
CurrentValue = normalizedValue;
}
public void OnDrag(PointerEventData eventData)
{
UpdateSlider(eventData);
@@ -46,6 +58,7 @@ public class AudioSliderDragHandler : MonoBehaviour, IBeginDragHandler, IDragHan
}
private void UpdateSlider(PointerEventData eventData)
{
Debug.Log("UpDating Slider");
Vector2 localPoint;
RectTransformUtility.ScreenPointToLocalPointInRectangle(sliderBackground, eventData.position, eventData.pressEventCamera, out localPoint);

View File

@@ -0,0 +1,80 @@
using UnityEngine;
public class SliderToVCA : MonoBehaviour
{
public enum VCATarget
{
Master,
Ambiences,
Music,
SFX,
UI
}
public VCATarget target;
private AudioSliderDragHandler slider;
private void Awake()
{
slider = GetComponent<AudioSliderDragHandler>();
}
private void Start()
{
float initialValue = GetInitialValueFromAudioManager();
slider.SetHandlePosition(initialValue); // we will add this function
}
private float GetInitialValueFromAudioManager()
{
switch (target)
{
case VCATarget.Master:
return AudioManager.Instance.MasterVolume;
case VCATarget.Ambiences:
return AudioManager.Instance.AmbienceVolume;
case VCATarget.Music:
return AudioManager.Instance.MusicVolume;
case VCATarget.SFX:
return AudioManager.Instance.SFXVolume;
case VCATarget.UI:
return AudioManager.Instance.UIVolume;
default:
return 1f;
}
}
private void Update()
{
// Constantly push slider value to the VCA
ApplyVolume(slider.CurrentValue);
Debug.Log("CurrentValue: " + slider.CurrentValue);
}
private void ApplyVolume(float value)
{
switch (target)
{
case VCATarget.Master:
AudioManager.Instance.SetMasterVCA(value);
Debug.LogError(value);
break;
case VCATarget.Ambiences:
AudioManager.Instance.SetAmbientVCA(value);
break;
case VCATarget.Music:
AudioManager.Instance.SetMusicVCA(value);
break;
case VCATarget.SFX:
AudioManager.Instance.SetSFXVCA(value);
break;
case VCATarget.UI:
AudioManager.Instance.SetUIVCA(value);
break;
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ebe1ab889a9bed940995d4f47bc743ef
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -123,7 +123,6 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 6021721823031538141}
- component: {fileID: 4707456952479937532}
m_Layer: 0
m_Name: Portal
m_TagString: Untagged
@@ -150,147 +149,6 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!82 &4707456952479937532
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4777591596180506993}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 8300000, guid: 4d691c6581003c94bbfe74b21deb8784, type: 3}
m_PlayOnAwake: 1
m_Volume: 0.8
m_Pitch: 1
Loop: 1
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 40
Pan2D: 0
rolloffMode: 2
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 0
rolloffCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1.0028496
inSlope: -40.015934
outSlope: -40.015934
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.03449707
value: 0.49145508
inSlope: -10.0039835
outSlope: -10.0039835
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.1
value: 0.25
inSlope: -2.5009959
outSlope: -2.5009959
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.2
value: 0.125
inSlope: -0.62524897
outSlope: -0.62524897
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.4348816
value: 0.03970337
inSlope: -0.15631224
outSlope: -0.15631224
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.8
value: 0
inSlope: -0.03907806
outSlope: -0.03907806
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.9980469
value: 0
inSlope: -0.02500997
outSlope: -0.02500997
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
panLevelCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
spreadCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
reverbZoneMixCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!1 &6014189720456933605
GameObject:
m_ObjectHideFlags: 0
@@ -580,4 +438,4 @@ MonoBehaviour:
PlayerOcclusionWidening: 1
OcclusionLayer:
serializedVersion: 2
m_Bits: 2048
m_Bits: 268438528

View File

@@ -3,7 +3,16 @@ guid: 93a8cd8d2c83a1c4da7720c8a59fa706
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
defaultReferences:
- m_InteractionManager: {instanceID: 0}
- m_CustomReticle: {instanceID: 0}
- m_AttachTransform: {instanceID: 0}
- m_SecondaryAttachTransform: {instanceID: 0}
- pullMin: {instanceID: 0}
- pullMax: {instanceID: 0}
- pullSounds: {fileID: 11400000, guid: 3c359cbce1e053d4f97c86ed8998405b, type: 2}
- maxPullSounds: {fileID: 11400000, guid: a052046b894aee042a62bcc609a5afc7, type: 2}
- stringRenderer: {instanceID: 0}
executionOrder: 0
icon: {instanceID: 0}
userData:

View File

@@ -1,3 +1,19 @@
fileFormatVersion: 2
fileFormatVersion: 2
guid: 5c49785f8ddb436bb890408012c0da7d
timeCreated: 1679237121
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences:
- m_InteractionManager: {instanceID: 0}
- m_AttachTransform: {instanceID: 0}
- m_StartingSelectedInteractable: {instanceID: 0}
- m_StartingTargetFilter: {instanceID: 0}
- m_InteractableHoverMeshMaterial: {instanceID: 0}
- m_InteractableCantHoverMeshMaterial: {instanceID: 0}
- nockSounds: {fileID: 11400000, guid: 6d1727a79cb00364c8adb70e8396e743, type: 2}
- releaseSounds: {fileID: 11400000, guid: 08fd7432471e0aa40b7a08f6d88b7281, type: 2}
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: