52 lines
1.6 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
} |