Refactor audio effect handling: remove cooldown logic and enhance sound playback functionality
This commit is contained in:
+23
-1
@@ -94,6 +94,7 @@ var g_active_items: Dictionary = {}
|
||||
var pending_page: int = -1
|
||||
var active_actions_dirty: bool = true
|
||||
var active_actions_elapsed: float = 0.0
|
||||
var interface_sounds_enabled: bool = false
|
||||
|
||||
var owniverse:Owniverse = Owniverse.new()
|
||||
var owniverse_items: Dictionary[String, OwniverseItem] = {}
|
||||
@@ -323,6 +324,11 @@ func _ready() -> void:
|
||||
for pa in page_actions:
|
||||
page_actions[pa].action_pressed.connect(_page_action_pressed)
|
||||
page_actions[pa].page_id = pa
|
||||
_enable_interface_sounds.call_deferred()
|
||||
|
||||
|
||||
func _enable_interface_sounds() -> void:
|
||||
interface_sounds_enabled = true
|
||||
|
||||
|
||||
## Starts a fresh universe. Can be connected directly to a button's pressed signal.
|
||||
@@ -398,10 +404,15 @@ func _process(delta: float) -> void:
|
||||
|
||||
|
||||
func _change_speed(delta: int) -> void:
|
||||
|
||||
var previous_speed: int = owniverse.speed
|
||||
owniverse.speed = owniverse.speed + delta
|
||||
|
||||
var speed: int = owniverse.speed
|
||||
if speed > previous_speed:
|
||||
effects_player.play_effect("time_plus")
|
||||
elif speed < previous_speed:
|
||||
effects_player.play_effect("time_minus")
|
||||
|
||||
var ind: int = 1
|
||||
for icon in g_speed_icons:
|
||||
if ind <= speed:
|
||||
@@ -421,6 +432,17 @@ func _change_speed(delta: int) -> void:
|
||||
|
||||
|
||||
func _on_topmenu_button_pressed(screen_name: String) -> void:
|
||||
var current_screen: String = ""
|
||||
for screen_id in screens:
|
||||
if screens[screen_id].visible:
|
||||
current_screen = screen_id
|
||||
break
|
||||
|
||||
if current_screen == screen_name:
|
||||
return
|
||||
|
||||
if interface_sounds_enabled:
|
||||
effects_player.play_effect("window_close" if screen_name == "World" else "window_open")
|
||||
|
||||
for screen_id in screens:
|
||||
#print(screen_name, " ←→ ", screen_id)
|
||||
|
||||
Reference in New Issue
Block a user