-
Notifications
You must be signed in to change notification settings - Fork 0
/
world.gd
39 lines (28 loc) · 1.23 KB
/
world.gd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
extends Node3D
@export var ambience_event: EventAsset
var ambience_instance: EventInstance
var music_guid = FMODGuids.Events.MUSIC
var music_instance: EventInstance
@onready var squid_god: SquidGod = $SquidGod
@onready var sigil_machine_container: SigilMachineContainer = $SigilMachineRoom/SigilMachines
func _ready() -> void:
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
ambience_instance = FMODRuntime.create_instance(ambience_event)
ambience_instance.start()
music_instance = FMODRuntime.create_instance_id(music_guid)
music_instance.start()
squid_god.start_interacting.connect(stop_ambience)
squid_god.stop_interacting.connect(start_ambience)
sigil_machine_container.all_solved.connect(stop_ambience)
func stop_ambience() -> void:
ambience_instance.stop(FMODStudioModule.FMOD_STUDIO_STOP_ALLOWFADEOUT)
music_instance.stop(FMODStudioModule.FMOD_STUDIO_STOP_ALLOWFADEOUT)
func start_ambience() -> void:
ambience_instance.start()
music_instance.start()
func _notification(what: int) -> void:
if what == NOTIFICATION_PREDELETE:
ambience_instance.stop(FMODStudioModule.FMOD_STUDIO_STOP_ALLOWFADEOUT)
ambience_instance.release()
music_instance.stop(FMODStudioModule.FMOD_STUDIO_STOP_ALLOWFADEOUT)
music_instance.release()