Rework dimmable audio stream
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
using System.Linq;
|
||||
using Zennysoft.Game.Abstractions;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
@@ -19,6 +21,8 @@ public partial class Overworld : SpecialFloor, IDungeonFloor
|
||||
|
||||
[Node] private Area3D RestoreArea { get; set; } = default!;
|
||||
|
||||
[Node] private Node DimmableAudio { get; set; } = default!;
|
||||
|
||||
private Timer RestoreTimer { get; set; }
|
||||
|
||||
public override void InitializeDungeon()
|
||||
@@ -32,6 +36,17 @@ public partial class Overworld : SpecialFloor, IDungeonFloor
|
||||
RestoreTimer.Timeout += RestoreTimer_Timeout;
|
||||
AddChild(RestoreTimer);
|
||||
FloorIsLoaded = true;
|
||||
|
||||
var dimmableAudio = DimmableAudio.GetChildren().OfType<IDimmableAudioStreamPlayer>();
|
||||
foreach (var dimmable in dimmableAudio)
|
||||
dimmable.FadeIn();
|
||||
}
|
||||
|
||||
public override void FadeOutAudio()
|
||||
{
|
||||
var dimmableAudio = DimmableAudio.GetChildren().OfType<IDimmableAudioStreamPlayer>();
|
||||
foreach (var dimmable in dimmableAudio)
|
||||
dimmable.FadeOut();
|
||||
}
|
||||
|
||||
private void RestoreTimer_Timeout()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=557 format=4 uid="uid://dvnc26rebk6o0"]
|
||||
[gd_scene load_steps=558 format=4 uid="uid://dvnc26rebk6o0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cuhfkyh3d7noa" path="res://src/map/dungeon/code/Overworld.cs" id="1_5hmt3"]
|
||||
[ext_resource type="Texture2D" uid="uid://co6h8vyi11sl2" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_63.png" id="2_g6b7b"]
|
||||
@@ -86,6 +86,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cpuhjnogiqlm3" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_leafs3.png" id="64_28ka5"]
|
||||
[ext_resource type="Texture2D" uid="uid://dq63vmmpqlww7" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_VINE.png" id="65_nhnhu"]
|
||||
[ext_resource type="Texture2D" uid="uid://wqbflec631rm" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_BANYAN_LEAVES.png" id="66_plu1v"]
|
||||
[ext_resource type="Script" uid="uid://b83kye8yinfxs" path="res://src/audio/AmbientSFXPlayer3D.cs" id="66_q7hpd"]
|
||||
[ext_resource type="Texture2D" uid="uid://ck2milaawr3ef" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_BANYAN_LEAVES2.png" id="67_shdaj"]
|
||||
[ext_resource type="Texture2D" uid="uid://c38grr8d22ukg" path="res://src/map/assets/Overworld Assetts/cloudscape.png" id="67_uyygh"]
|
||||
[ext_resource type="Texture2D" uid="uid://c5jloiaiy7iug" path="res://src/map/overworld/Models/Overworld_optimized_Pass 1_BANYAN_LEAVES_3.png" id="68_8o0x4"]
|
||||
@@ -10823,81 +10824,79 @@ material = SubResource("FogMaterial_b6pah")
|
||||
[node name="Audio" type="Node3D" parent="Node3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -350.758, -3.90238, 113.556)
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="Node3D/Audio"]
|
||||
autoplay = true
|
||||
[node name="DimmableAudio" type="Node3D" parent="Node3D/Audio"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1.51515, 0, 0, 0, 1.51515, 0, 0, 0, 1.51515, 137.047, -0.658938, -5.82563)
|
||||
|
||||
[node name="AUDIO" type="Node3D" parent="Node3D/Audio/AudioStreamPlayer"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -203.193, -3.01047, 66.0116)
|
||||
|
||||
[node name="Interior" type="AudioStreamPlayer3D" parent="Node3D/Audio/AudioStreamPlayer/AUDIO"]
|
||||
[node name="Interior" type="AudioStreamPlayer3D" parent="Node3D/Audio/DimmableAudio"]
|
||||
process_mode = 3
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22.4453, 0, 5.97604)
|
||||
stream = ExtResource("2_wbbo3")
|
||||
volume_db = 5.275
|
||||
unit_size = 10.55
|
||||
max_db = -3.264
|
||||
autoplay = true
|
||||
max_distance = 100.0
|
||||
bus = &"AMBIENT"
|
||||
script = ExtResource("66_q7hpd")
|
||||
|
||||
[node name="Interior2" type="AudioStreamPlayer3D" parent="Node3D/Audio/AudioStreamPlayer/AUDIO"]
|
||||
[node name="Interior2" type="AudioStreamPlayer3D" parent="Node3D/Audio/DimmableAudio"]
|
||||
process_mode = 3
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -231.692, 6.43338, -92.712)
|
||||
stream = ExtResource("2_wbbo3")
|
||||
volume_db = 5.275
|
||||
unit_size = 10.55
|
||||
max_db = -3.264
|
||||
autoplay = true
|
||||
max_distance = 54.99
|
||||
bus = &"AMBIENT"
|
||||
script = ExtResource("66_q7hpd")
|
||||
|
||||
[node name="Ocean" type="AudioStreamPlayer3D" parent="Node3D/Audio/AudioStreamPlayer/AUDIO"]
|
||||
[node name="Ocean" type="AudioStreamPlayer3D" parent="Node3D/Audio/DimmableAudio"]
|
||||
process_mode = 3
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -210.527, -9.55156, -81.5173)
|
||||
stream = ExtResource("3_pvi8n")
|
||||
volume_db = 8.791
|
||||
unit_size = 4.51
|
||||
max_db = -13.154
|
||||
autoplay = true
|
||||
max_distance = 247.56
|
||||
bus = &"AMBIENT"
|
||||
attenuation_filter_cutoff_hz = 20500.0
|
||||
script = ExtResource("66_q7hpd")
|
||||
|
||||
[node name="Ocean2" type="AudioStreamPlayer3D" parent="Node3D/Audio/AudioStreamPlayer/AUDIO"]
|
||||
[node name="Ocean2" type="AudioStreamPlayer3D" parent="Node3D/Audio/DimmableAudio"]
|
||||
process_mode = 3
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 109.176, -130.646, -48.6352)
|
||||
stream = ExtResource("3_pvi8n")
|
||||
volume_db = 30.769
|
||||
unit_size = 1.77
|
||||
max_db = -10.353
|
||||
autoplay = true
|
||||
max_distance = 157.54
|
||||
max_polyphony = 2
|
||||
bus = &"AMBIENT"
|
||||
attenuation_filter_db = -34.0
|
||||
script = ExtResource("66_q7hpd")
|
||||
|
||||
[node name="Ocean3" type="AudioStreamPlayer3D" parent="Node3D/Audio/AudioStreamPlayer/AUDIO"]
|
||||
[node name="Ocean3" type="AudioStreamPlayer3D" parent="Node3D/Audio/DimmableAudio"]
|
||||
process_mode = 3
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -329.209, -9.13597, -39.3283)
|
||||
stream = ExtResource("3_pvi8n")
|
||||
volume_db = 30.769
|
||||
unit_size = 11.1
|
||||
max_db = -5.078
|
||||
autoplay = true
|
||||
max_distance = 90.02
|
||||
max_polyphony = 2
|
||||
bus = &"AMBIENT"
|
||||
attenuation_filter_cutoff_hz = 691.0
|
||||
attenuation_filter_db = -34.0
|
||||
script = ExtResource("66_q7hpd")
|
||||
|
||||
[node name="Waterfall" type="AudioStreamPlayer3D" parent="Node3D/Audio/AudioStreamPlayer/AUDIO"]
|
||||
[node name="Waterfall" type="AudioStreamPlayer3D" parent="Node3D/Audio/DimmableAudio"]
|
||||
process_mode = 3
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -107.057, 0, -48.0532)
|
||||
stream = ExtResource("3_c2gp5")
|
||||
volume_db = 2.774
|
||||
autoplay = true
|
||||
max_distance = 116.36
|
||||
bus = &"AMBIENT"
|
||||
script = ExtResource("66_q7hpd")
|
||||
|
||||
[node name="VFX" type="Node3D" parent="Node3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -350.758, -3.90238, 113.556)
|
||||
|
||||
Reference in New Issue
Block a user