feat: implement plasma gun and rocket swarm mechanics along with various 3D asset imports

This commit is contained in:
DottsGit
2026-06-07 18:23:47 -04:00
parent c9f082ebba
commit 4bb867a6f2
50 changed files with 5372 additions and 437 deletions
+45 -1
View File
@@ -25,6 +25,8 @@ var editing_index: int = -1
# Settings UI
var settings_editor: Control
var settings_back_btn: Button
var _world_fov_slider: HSlider
var _world_fov_input: LineEdit
var _debug_ui_checkbox: CheckButton
var _mouse_sens_slider: HSlider
var _mouse_sens_input: LineEdit
@@ -279,6 +281,43 @@ func _build_ui() -> void:
)
user_hbox.add_child(user_save)
var fov_hbox = HBoxContainer.new()
general_tab.add_child(fov_hbox)
var fov_lbl = Label.new()
fov_lbl.text = "World FOV"
fov_lbl.custom_minimum_size = Vector2(150, 0)
fov_hbox.add_child(fov_lbl)
_world_fov_slider = HSlider.new()
_world_fov_slider.min_value = 70.0
_world_fov_slider.max_value = 120.0
_world_fov_slider.step = 1.0
_world_fov_slider.value = SettingsManager.world_fov
_world_fov_slider.custom_minimum_size = Vector2(200, 0)
_world_fov_slider.size_flags_vertical = Control.SIZE_SHRINK_CENTER
fov_hbox.add_child(_world_fov_slider)
_world_fov_input = LineEdit.new()
_world_fov_input.text = str(round(SettingsManager.world_fov))
_world_fov_input.custom_minimum_size = Vector2(60, 0)
fov_hbox.add_child(_world_fov_input)
_world_fov_slider.value_changed.connect(func(value: float):
_world_fov_input.text = str(round(value))
SettingsManager.world_fov = value
SettingsManager._save_settings()
)
_world_fov_input.text_submitted.connect(func(new_text: String):
var val = new_text.to_float()
val = clampf(val, 70.0, 120.0)
_world_fov_slider.value = val
_world_fov_input.text = str(round(val))
SettingsManager.world_fov = val
SettingsManager._save_settings()
)
var spacer_gen = Control.new()
spacer_gen.size_flags_vertical = Control.SIZE_EXPAND_FILL
general_tab.add_child(spacer_gen)
@@ -286,7 +325,9 @@ func _build_ui() -> void:
var reset_gen_btn = Button.new()
reset_gen_btn.text = "Reset to Defaults"
reset_gen_btn.pressed.connect(func():
pass # No settings yet
_world_fov_slider.value = 90.0
SettingsManager.world_fov = 90.0
SettingsManager._save_settings()
)
general_tab.add_child(reset_gen_btn)
@@ -743,6 +784,9 @@ func _show_settings() -> void:
_debug_ui_checkbox.button_pressed = SettingsManager.show_debug_ui
if _show_fps_checkbox:
_show_fps_checkbox.button_pressed = SettingsManager.show_fps
if _world_fov_slider:
_world_fov_slider.value = SettingsManager.world_fov
_world_fov_input.text = str(round(SettingsManager.world_fov))
if _mouse_sens_slider:
var display_val = round(SettingsManager.mouse_sensitivity * 10000.0)
_mouse_sens_slider.value = display_val