initial add
This commit is contained in:
BIN
gobbos_delivery/scripts/user_interface/.DS_Store
vendored
Normal file
BIN
gobbos_delivery/scripts/user_interface/.DS_Store
vendored
Normal file
Binary file not shown.
29
gobbos_delivery/scripts/user_interface/config_handler.gd
Normal file
29
gobbos_delivery/scripts/user_interface/config_handler.gd
Normal file
@@ -0,0 +1,29 @@
|
||||
extends Node
|
||||
|
||||
|
||||
var config = ConfigFile.new()
|
||||
const SETTINGS_FILE_PATH = "user://settings.ini"
|
||||
|
||||
signal ControlSettingsChanged
|
||||
|
||||
func _ready():
|
||||
if !FileAccess.file_exists(SETTINGS_FILE_PATH):
|
||||
config.set_value("control","camera_sensitivity", 0.5)
|
||||
config.set_value("control","invert_mouse_y", true)
|
||||
|
||||
config.save(SETTINGS_FILE_PATH)
|
||||
else:
|
||||
config.load(SETTINGS_FILE_PATH)
|
||||
|
||||
|
||||
func save_control_setting(key: String, value):
|
||||
config.set_value("control", key, value)
|
||||
config.save(SETTINGS_FILE_PATH)
|
||||
|
||||
func load_control_settings():
|
||||
var control_settings = {}
|
||||
for key in config.get_section_keys("control"):
|
||||
control_settings[key] = config.get_value("control", key)
|
||||
return control_settings
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uid://ceogo7m8ehjpt
|
||||
21
gobbos_delivery/scripts/user_interface/loading_screen.gd
Normal file
21
gobbos_delivery/scripts/user_interface/loading_screen.gd
Normal file
@@ -0,0 +1,21 @@
|
||||
extends Control
|
||||
|
||||
@onready var sceneName
|
||||
@onready var scene_load_status : float = 0
|
||||
@onready var progress = []
|
||||
@onready var progressBar = $TextureProgressBar
|
||||
|
||||
|
||||
func _ready():
|
||||
sceneName = SceneSwitcher.new_scene
|
||||
ResourceLoader.load_threaded_request(sceneName)
|
||||
|
||||
|
||||
func _process(_delta):
|
||||
scene_load_status = ResourceLoader.load_threaded_get_status(sceneName,progress)
|
||||
progressBar.value = lerp(progressBar.value,progress[0]*100,0.25)
|
||||
#print(progressBar.value)
|
||||
if scene_load_status == ResourceLoader.THREAD_LOAD_LOADED and progressBar.value >= 99:
|
||||
var newScene = ResourceLoader.load_threaded_get(sceneName)
|
||||
get_tree().change_scene_to_packed(newScene)
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uid://8yal1fqglvut
|
||||
@@ -0,0 +1,40 @@
|
||||
extends Control
|
||||
|
||||
@onready var settings_menu : Control = $SettingsMenu
|
||||
@onready var goto_scene : String = "res://scenes/user_interface/title_screen.tscn"
|
||||
|
||||
var paused : bool = false
|
||||
|
||||
func _ready():
|
||||
hide()
|
||||
settings_menu.hide()
|
||||
|
||||
func _input(event):
|
||||
if event.is_action_pressed("ui_cancel") and get_tree().paused and settings_menu.visible == false:
|
||||
resume()
|
||||
elif event.is_action_pressed("ui_cancel") and !get_tree().paused:
|
||||
pause()
|
||||
|
||||
func pause():
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
get_tree().paused = true
|
||||
show()
|
||||
|
||||
func resume():
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
get_tree().paused = false
|
||||
hide()
|
||||
settings_menu.hide()
|
||||
|
||||
|
||||
func _on_resume_pressed():
|
||||
resume()
|
||||
|
||||
|
||||
func _on_settings_button_pressed():
|
||||
settings_menu.show()
|
||||
|
||||
|
||||
func _on_quit_button_pressed():
|
||||
get_tree().paused = false
|
||||
SceneSwitcher.transition_scene(goto_scene)
|
||||
@@ -0,0 +1 @@
|
||||
uid://cydmxkxpei0o3
|
||||
8
gobbos_delivery/scripts/user_interface/scene_switcher.gd
Normal file
8
gobbos_delivery/scripts/user_interface/scene_switcher.gd
Normal file
@@ -0,0 +1,8 @@
|
||||
extends Node
|
||||
|
||||
@export var new_scene : String
|
||||
|
||||
func transition_scene(goto_scene):
|
||||
new_scene = goto_scene
|
||||
var loadingScreen = load("res://scenes/user_interface/loading_screen.tscn")
|
||||
get_tree().change_scene_to_packed(loadingScreen)
|
||||
@@ -0,0 +1 @@
|
||||
uid://d3a3svfiul3li
|
||||
@@ -0,0 +1,29 @@
|
||||
extends Control
|
||||
|
||||
@onready var InvertMouseY := $VBoxContainer/TabContainer/Control/InvertMouse/InvertMouse
|
||||
@onready var CameraSensSlider := $VBoxContainer/TabContainer/Control/CameraSens/CameraSens
|
||||
|
||||
|
||||
|
||||
func _ready():
|
||||
var control_settings = ConfigHandler.load_control_settings()
|
||||
InvertMouseY.button_pressed = control_settings.invert_mouse_y
|
||||
CameraSensSlider.value = control_settings.camera_sensitivity * 100
|
||||
|
||||
func _input(event):
|
||||
if event.is_action_released("ui_cancel"):
|
||||
_on_exit_button_pressed()
|
||||
|
||||
func _on_invert_mouse_toggled(toggled_on):
|
||||
ConfigHandler.save_control_setting("invert_mouse_y", toggled_on)
|
||||
ConfigHandler.ControlSettingsChanged.emit()
|
||||
|
||||
func _on_camera_sens_drag_ended(value_changed):
|
||||
if value_changed:
|
||||
ConfigHandler.save_control_setting("camera_sensitivity", CameraSensSlider.value / 100)
|
||||
ConfigHandler.ControlSettingsChanged.emit()
|
||||
|
||||
|
||||
|
||||
func _on_exit_button_pressed():
|
||||
hide()
|
||||
@@ -0,0 +1 @@
|
||||
uid://f1f4otkm5x0r
|
||||
9
gobbos_delivery/scripts/user_interface/slider_label.gd
Normal file
9
gobbos_delivery/scripts/user_interface/slider_label.gd
Normal file
@@ -0,0 +1,9 @@
|
||||
extends Label
|
||||
|
||||
@export var LabeledSlider : Slider
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(_delta):
|
||||
text = str(LabeledSlider.value)
|
||||
@@ -0,0 +1 @@
|
||||
uid://3uqf5dorg2et
|
||||
@@ -0,0 +1,4 @@
|
||||
extends Button
|
||||
|
||||
func _on_pressed():
|
||||
get_tree().quit()
|
||||
@@ -0,0 +1 @@
|
||||
uid://cx5wq6cs2lqxg
|
||||
@@ -0,0 +1,6 @@
|
||||
extends Button
|
||||
|
||||
@export var goto_scene : String
|
||||
|
||||
func _on_pressed():
|
||||
SceneSwitcher.transition_scene(goto_scene)
|
||||
@@ -0,0 +1 @@
|
||||
uid://b34ocehefekp3
|
||||
@@ -0,0 +1,11 @@
|
||||
extends Control
|
||||
|
||||
@onready var settings_menu : Control = $SettingsMenu
|
||||
|
||||
|
||||
func _ready():
|
||||
settings_menu.hide()
|
||||
|
||||
|
||||
func _on_settings_button_pressed():
|
||||
settings_menu.show()
|
||||
@@ -0,0 +1 @@
|
||||
uid://bs1g3xjxf8i3k
|
||||
Reference in New Issue
Block a user