Files
2026-05-26 18:54:56 +09:00

46 lines
1.3 KiB
C#

using UnityEngine;
using UnityEngine.Playables;
namespace VRBeats
{
public class VR_BeatSignalReceiver : MonoBehaviour, INotificationReceiver
{
private EnviromentController enviromentController = null;
private double lastTime = 0;
private int frame = 0;
private void Awake()
{
enviromentController = FindFirstObjectByType<EnviromentController>();
}
private void Update()
{
frame++;
}
public void OnNotify(Playable origin, INotification notification, object context)
{
if (notification is VR_BeatSpawnMarker spawnMarker)
{
VR_BeatManager.instance.Spawn(spawnMarker.spawneable, spawnMarker.spawInfo);
lastTime = spawnMarker.time;
}
else if (notification is VR_BeatEnvironmentColorMarker enviromentColorMarker)
{
enviromentController.FadeToColor(enviromentColorMarker.color, enviromentColorMarker.fadeTime, enviromentColorMarker.ease);
}
else if ( notification is VR_BeatEnvironmentEmissionMarker emmmisionMarker )
{
enviromentController.FadeEmmisiveValue(emmmisionMarker.targetEmissionValue, emmmisionMarker.fadeTime, emmmisionMarker.ease);
}
}
}
}