using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class FloorButtonVisualizer : MonoBehaviour { public Sprite InactiveSprite; public Sprite ActiveSprite; 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(); } public void Activate() { this.ActiveState = true; buttonImage.sprite = ActiveSprite; // --- 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() { this.ActiveState = false; buttonImage.sprite = InactiveSprite; } }