This commit is contained in:
Rendo 2025-07-25 18:15:20 +05:00
commit 65fe0e5c5d
14 changed files with 30 additions and 33 deletions

View file

@ -0,0 +1,24 @@
using Godot;
using Newlon.Components.Level;
public partial class ChooseYourSeedsMusic : AudioStreamPlayer
{
public override void _Ready()
{
RuntimeLevelData.Instance.OnLevelStateChanged += OnLevelStateChanged;
}
private void OnLevelStateChanged(RuntimeLevelData.LevelStates state)
{
if (state == RuntimeLevelData.LevelStates.ChooseYourSeeds)
{
Play();
}
else
{
var tween = CreateTween();
tween.TweenProperty(this, "volume_linear", 0, 1);
tween.TweenCallback(Callable.From(Stop));
}
}
}

View file

@ -0,0 +1 @@
uid://b4ysi1iutmju3

View file

@ -0,0 +1,41 @@
using Godot;
using Newlon.Components.Level;
using System;
public partial class MusicTransitioner : AudioStreamPlayer
{
private AudioStreamPlaybackInteractive playback;
private Timer timer;
public override void _Ready()
{
RuntimeLevelData.Instance.OnLevelStateChanged += OnLevelStateChanged;
timer = GetNode<Timer>("Timer");
}
private void OnLevelStateChanged(RuntimeLevelData.LevelStates state)
{
if (state == RuntimeLevelData.LevelStates.Game)
{
Play();
playback = (AudioStreamPlaybackInteractive)GetStreamPlayback();
VolumeLinear = 1;
}
else
{
var tween = CreateTween();
tween.TweenProperty(this, "volume_linear", 0, 1);
tween.TweenCallback(Callable.From(Stop));
}
}
public void OnHugeWaveApproaching()
{
playback.SwitchToClip(1);
timer.Start();
}
public void OnTimerTimeout()
{
playback.SwitchToClip(0);
}
}

View file

@ -0,0 +1 @@
uid://bnj5tlcpmep2o