Files
ichni_Official/Assets/Scripts/Menu/SongSelection/SongSelectionManager.cs
SoulliesOfficial abf81ece7b menu
2025-07-26 04:20:25 -04:00

52 lines
1.6 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using DG.Tweening;
using Ichni.Menu.UI;
using Ichni.RhythmGame;
using Ichni.UI;
using Sirenix.OdinInspector;
using UnityEngine;
namespace Ichni.Menu
{
public partial class SongSelectionManager : SerializedMonoBehaviour
{
public static SongSelectionManager instance;
public SongSelectionUIPage songSelectionUIPage;
public float currentFilterValue;
public Tweener filterTweener;
private void Awake()
{
instance = this;
currentFilterValue = 100f;
}
}
public partial class SongSelectionManager
{
public void SetPreview(SongItemData connectedSong, bool isLocked)
{
MenuAudioManager.instance.audioContainer.StopEvent("PlayPreview");
MenuAudioManager.instance.audioContainer.SetSwitch(connectedSong.songSwitch);
MenuAudioManager.instance.audioContainer.PostEvent("PlayPreview");
float targetFilterValue = isLocked ? 50 : 100;
if (!Mathf.Approximately(currentFilterValue, targetFilterValue))
{
filterTweener.Kill(true);
filterTweener =
DOTween.To(() => currentFilterValue, x => currentFilterValue = x, targetFilterValue, 1f)
.SetEase(Ease.OutQuad)
.OnUpdate(() =>
{
MenuAudioManager.instance.audioContainer.SetRTPC("PreviewLowPassFilter", currentFilterValue);
}).Play();
}
}
}
}