fixes, portal sound changed, faders

This commit is contained in:
Timur Nizamov
2025-12-08 00:06:28 +02:00
parent f414e10d94
commit 647d247c81
81 changed files with 963 additions and 885 deletions

View File

@@ -59,7 +59,7 @@ public class AudioSliderDragHandler : MonoBehaviour, IBeginDragHandler, IDragHan
private void UpdateSlider(PointerEventData eventData)
{
Debug.Log("UpDating Slider");
//Debug.Log("UpDating Slider");
Vector2 localPoint;
RectTransformUtility.ScreenPointToLocalPointInRectangle(sliderBackground, eventData.position, eventData.pressEventCamera, out localPoint);

View File

@@ -1,6 +1,7 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class FloorButtonVisualizer : MonoBehaviour
@@ -10,10 +11,6 @@ public class FloorButtonVisualizer : MonoBehaviour
public bool ActiveState;
private Image buttonImage;
// --- Static tracking for selection change ---
private static FloorButtonVisualizer lastActiveButton = null;
private static bool initialized = false;
void Start()
{
buttonImage = gameObject.GetComponent<Image>();
@@ -23,15 +20,7 @@ public class FloorButtonVisualizer : MonoBehaviour
{
this.ActiveState = true;
buttonImage.sprite = ActiveSprite;
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.Hover, gameObject);
// --- Only play hover if selection actually changed ---
//if (initialized && lastActiveButton != this)
//{
// AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.Hover, gameObject);
//}
//lastActiveButton = this;
//initialized = true;
}
public void Deactivate()
@@ -39,4 +28,15 @@ public class FloorButtonVisualizer : MonoBehaviour
this.ActiveState = false;
buttonImage.sprite = InactiveSprite;
}
public void OnSelect(BaseEventData eventData) // joystick hover/select
{
buttonImage.sprite = ActiveSprite;
// Play FMOD sound here
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.Hover, gameObject);
}
public void OnDeselect(BaseEventData eventData) // joystick moves away
{
buttonImage.sprite = InactiveSprite;
}
}

View File

@@ -26,9 +26,6 @@ public class MenuTeleportButton : MonoBehaviour
private EventInstance TeleportingSound;
FMOD.Studio.Bus SpecialBus; //FMOD bus variable
private static MenuTeleportButton lastSelectedButton = null;
private static bool initialized = false;
// External state: map must be held/visible
public static bool MapIsOpen = false;
private Menu menu;
@@ -70,20 +67,7 @@ public class MenuTeleportButton : MonoBehaviour
if (button != null && HoverSprite != null)
{
button.targetGraphic.GetComponent<Image>().sprite = HoverSprite;
// --- Only play hover sound if selection actually changed ---
//if (initialized && lastSelectedButton != this)
//{
// if (!Menu.IsMapOpen) return;
// if (!menu.MapTab.activeSelf) return; // ensures only map page buttons make sound
// AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.Hover, gameObject);
//}
if (!Menu.IsMapOpen) return;
if (!menu.MapTab.activeSelf) return; // ensures only map page buttons make sound
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.Hover, gameObject);
//lastSelectedButton = this;
//initialized = true;
//AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.Hover, gameObject);
}
}
@@ -99,8 +83,29 @@ public class MenuTeleportButton : MonoBehaviour
}
}
// Player-driven hover (joystick or controller)
public void OnSelect(BaseEventData eventData)
{
if (HoverSprite != null)
{
button.targetGraphic.GetComponent<Image>().sprite = HoverSprite;
}
// Play FMOD hover sound
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.Hover, gameObject);
}
public void OnDeselect(BaseEventData eventData)
{
if (NormalSprite != null)
{
button.targetGraphic.GetComponent<Image>().sprite = NormalSprite;
}
}
private void TeleportPlayer()
{
TutorialAudioListener.SuppressNextTeleportSound = true;
if (target == null || Player == null || teleportationProvider == null)
{
Debug.LogWarning("Teleportation failed: Target, Player, or TeleportationProvider is missing.");
@@ -127,6 +132,7 @@ public class MenuTeleportButton : MonoBehaviour
button.interactable = false;
button.interactable = true;
//muting teleportation when not needed
StartCoroutine(MuteBusForSeconds(2.0f));
TeleportingSound.start(); //playing 2d oneshot

View File

@@ -48,7 +48,7 @@ private float GetInitialValueFromAudioManager()
{
// Constantly push slider value to the VCA
ApplyVolume(slider.CurrentValue);
Debug.Log("CurrentValue: " + slider.CurrentValue);
//Debug.Log("CurrentValue: " + slider.CurrentValue);
}
private void ApplyVolume(float value)
@@ -57,7 +57,7 @@ private float GetInitialValueFromAudioManager()
{
case VCATarget.Master:
AudioManager.Instance.SetMasterVCA(value);
Debug.LogError(value);
//Debug.LogError(value);
break;
case VCATarget.Ambiences:

View File

@@ -1,33 +0,0 @@
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;
using FMOD.Studio;
[RequireComponent(typeof(TeleportationProvider))]
public class TeleportationListen : MonoBehaviour
{
private TeleportationProvider teleportationProvider;
void Awake()
{
teleportationProvider = GetComponent<TeleportationProvider>();
}
void OnEnable()
{
// Subscribe to the event that fires when teleportation actually ends
teleportationProvider.endLocomotion += OnTeleportEnd;
}
void OnDisable()
{
teleportationProvider.endLocomotion -= OnTeleportEnd;
}
private void OnTeleportEnd(LocomotionSystem locomotionSystem)
{
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.Steps, gameObject); //oneshot 3d event
Debug.Log("[TeleportationListen] Teleport sound played.");
}
}

View File

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

View File

@@ -24,6 +24,8 @@ public class TutorialAudioListener : MonoBehaviour
private Vector2 currentMoveVector;
public static bool SuppressNextTeleportSound = false;
private void Awake()
{
if (tutorialController == null)
@@ -118,11 +120,9 @@ public class TutorialAudioListener : MonoBehaviour
if (joystickMagnitude < joystickThreshold)
return; // Not moving enough to walk
// --- NEW: Slider influence (very light touch) ---
float sliderInfluence = 1f + (settingsSpeedMultiplier) * 0.25f;
float effectiveMagnitude = joystickMagnitude * sliderInfluence;
// --- NEW: Step cooldown ---
float dynamicCooldown = baseStepRate / Mathf.Max(effectiveMagnitude, 0.01f);
dynamicCooldown = Mathf.Clamp(dynamicCooldown, 0.33f, 0.65f);
@@ -145,6 +145,17 @@ public class TutorialAudioListener : MonoBehaviour
private void OnTeleportEnd(LocomotionSystem locomotionSystem)
{
// Optional teleport sound
// If magnitude above threshold = walking don't play the "teleportaion" step sound
if (currentMoveVector.magnitude > joystickThreshold)
return;
if (SuppressNextTeleportSound)
{
SuppressNextTeleportSound = false; // reset
return; // Skip playing landing step
}
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.Steps, gameObject);
Debug.Log("[TeleportationListen] Teleport sound played.");
}
}