diff options
author | Spartan322 <Megacake1234@gmail.com> | 2023-06-03 20:37:10 +0200 |
---|---|---|
committer | Spartan322 <Megacake1234@gmail.com> | 2023-06-03 20:37:10 +0200 |
commit | cef940108fe15752c3ef66f43f5169403fa2f71d (patch) | |
tree | fe4de5a05830e3bddeae78f74f729503b7cee1e9 /game/src/OptionMenu/VolumeGrid.gd | |
parent | 73e29d02e48739aba5ca5db1b9575c67e795400f (diff) |
Reorganize the file structure of the files in `game/src`
Diffstat (limited to 'game/src/OptionMenu/VolumeGrid.gd')
-rw-r--r-- | game/src/OptionMenu/VolumeGrid.gd | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/game/src/OptionMenu/VolumeGrid.gd b/game/src/OptionMenu/VolumeGrid.gd deleted file mode 100644 index 46613b4..0000000 --- a/game/src/OptionMenu/VolumeGrid.gd +++ /dev/null @@ -1,70 +0,0 @@ -extends GridContainer - -const RATIO_FOR_LINEAR : float = 100 - -var _slider_dictionary : Dictionary - -var initial_focus : Control - -func get_db_as_volume_value(db : float) -> float: - # db_to_linear produces a float between 0 and 1 from a db value - return db_to_linear(db) * RATIO_FOR_LINEAR - -func get_volume_value_as_db(value : float) -> float: - # linear_to_db consumes a float between 0 and 1 to produce the db value - return linear_to_db(value / RATIO_FOR_LINEAR) - -func add_volume_row(bus_name : String, bus_index : int) -> HSlider: - var volume_label := Label.new() - if bus_name == "Master": - volume_label.text = "MASTER_BUS" - else: - volume_label.text = bus_name - add_child(volume_label) - - var volume_slider := SettingHSlider.new() - volume_slider.section_name = "audio" - volume_slider.setting_name = volume_label.text - volume_slider.custom_minimum_size = Vector2(290, 0) - volume_slider.size_flags_vertical = Control.SIZE_FILL - volume_slider.min_value = 0 - volume_slider.default_value = 100 - volume_slider.max_value = 120 # 120 so volume can be boosted somewhat - volume_slider.value_changed.connect(_on_slider_value_changed.bind(bus_index)) - add_child(volume_slider) - - _slider_dictionary[volume_label.text] = volume_slider - if not initial_focus: initial_focus = volume_slider - return volume_slider - -# REQUIREMENTS -# * UI-22 -func _ready(): - for bus_index in AudioServer.bus_count: - add_volume_row(AudioServer.get_bus_name(bus_index), bus_index) - -func _notification(what : int) -> void: - match(what): - NOTIFICATION_VISIBILITY_CHANGED: - if visible and is_inside_tree() and initial_focus: initial_focus.grab_focus() - -# REQUIREMENTS -# * UIFUN-30 -func _on_slider_value_changed(value : float, bus_index : int) -> void: - AudioServer.set_bus_volume_db(bus_index, get_volume_value_as_db(value)) - - -func _on_options_menu_load_settings(load_file : ConfigFile): - for volume_slider in _slider_dictionary.values(): - volume_slider.load_setting(load_file) - -# REQUIREMENTS -# * UIFUN-23 -func _on_options_menu_save_settings(save_file : ConfigFile): - for volume_slider in _slider_dictionary.values(): - volume_slider.save_setting(save_file) - - -func _on_options_menu_reset_settings(): - for volume_slider in _slider_dictionary.values(): - volume_slider.reset_setting() |