fixed some ui stuff
This commit is contained in:
@ -12,6 +12,7 @@ var last_lives_count = 120
|
||||
@export var minimap_viewport : SubViewport
|
||||
@export var fps_label : Label
|
||||
var minimap_anchor : Node3D
|
||||
var enemy_names = []
|
||||
@export var enemy_sprites : Array[TextureRect]
|
||||
@export var enemy_counts : Array[Label]
|
||||
|
||||
@ -35,12 +36,23 @@ func set_enemy_count(value):
|
||||
enemy_count.text = "Enemies Remaining: " + str(value)
|
||||
|
||||
|
||||
func enemy_count_down(enemy):
|
||||
var index = enemy_names.find(enemy.title)
|
||||
var num = enemy_counts[index].text.to_int() - 1
|
||||
enemy_counts[index].text = str(num)
|
||||
if num == 0:
|
||||
enemy_counts[index].set_visible(false)
|
||||
enemy_sprites[index].set_visible(false)
|
||||
|
||||
|
||||
func set_upcoming_wave(value):
|
||||
var frame_count = 0
|
||||
enemy_names = []
|
||||
for x in enemy_sprites.size():
|
||||
enemy_sprites[x].set_visible(false)
|
||||
enemy_counts[x].set_visible(false)
|
||||
for enemy in value:
|
||||
enemy_names.append(enemy.title)
|
||||
enemy_sprites[frame_count].texture = enemy.icon
|
||||
enemy_counts[frame_count].text = str(value[enemy])
|
||||
enemy_sprites[frame_count].set_visible(true)
|
||||
|
@ -11,6 +11,7 @@ const SAVE_PATH := "user://preferences.tres"
|
||||
@export var aa_mode := 0
|
||||
@export var windowed_mode := 0
|
||||
@export var hfov := 100.0
|
||||
@export var fixed_minimap := false
|
||||
|
||||
|
||||
func apply_graphical_settings(viewport):
|
||||
|
@ -8,8 +8,15 @@ var text_selected := false
|
||||
var username := "default"
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if event.is_action_pressed("Open Text Chat"):
|
||||
if text_selected:
|
||||
if !text_selected and event.is_action_pressed("Open Text Chat"):
|
||||
get_viewport().set_input_as_handled()
|
||||
opened.emit()
|
||||
$VBoxContainer/LineEdit.visible = true
|
||||
$VBoxContainer/LineEdit.grab_focus()
|
||||
text_selected = true
|
||||
return
|
||||
if text_selected and event is InputEventKey and event.pressed == true:
|
||||
if event.keycode == KEY_ENTER:
|
||||
closed.emit()
|
||||
$VBoxContainer/LineEdit.deselect()
|
||||
$VBoxContainer/LineEdit.visible = false
|
||||
@ -20,11 +27,11 @@ func _input(event: InputEvent) -> void:
|
||||
else:
|
||||
rpc("append_message", username, $VBoxContainer/LineEdit.text)
|
||||
$VBoxContainer/LineEdit.clear()
|
||||
else:
|
||||
opened.emit()
|
||||
$VBoxContainer/LineEdit.visible = true
|
||||
$VBoxContainer/LineEdit.grab_focus()
|
||||
text_selected = true
|
||||
if event.keycode == KEY_ESCAPE:
|
||||
closed.emit()
|
||||
$VBoxContainer/LineEdit.deselect()
|
||||
$VBoxContainer/LineEdit.visible = false
|
||||
text_selected = false
|
||||
|
||||
|
||||
func change_username(old_name, new_name):
|
||||
|
@ -34,7 +34,7 @@ func _ready() -> void:
|
||||
|
||||
cards.append(preload("res://PCs/Universal/ClassCards/Assault/card_assault.tres"))
|
||||
cards.append(preload("res://PCs/Universal/ClassCards/BombLauncher/card_grenade_launcher.tres"))
|
||||
cards.append(preload("res://PCs/Universal/ClassCards/Flamethrower/card_flamethrower.tres"))
|
||||
cards.append(preload("res://PCs/Universal/ClassCards/Sniper/card_sniper.tres"))
|
||||
cards.append(preload("res://PCs/Universal/ClassCards/Gatling/card_gatling.tres"))
|
||||
cards.append(preload("res://PCs/Universal/ClassCards/GlueLauncher/card_glue_launcher.tres"))
|
||||
cards.append(preload("res://PCs/Universal/ClassCards/RocketLauncher/card_rocket_launcher.tres"))
|
||||
|
@ -10,7 +10,7 @@ class_name EditTool
|
||||
|
||||
var enabled := true
|
||||
var point_id := -1
|
||||
var obstacle_last_point : int
|
||||
var obstacle_last_point := -1
|
||||
var valid_point := false
|
||||
var is_looking_at_tower_base := false
|
||||
var ray_collider
|
||||
|
@ -99,9 +99,11 @@ func increase_enemy_count():
|
||||
enemy_number_changed.emit(enemies)
|
||||
|
||||
|
||||
func enemy_died():
|
||||
func enemy_died(enemy):
|
||||
enemies -= 1
|
||||
enemy_number_changed.emit(enemies)
|
||||
for key in connected_players_nodes:
|
||||
connected_players_nodes[key].hud.enemy_count_down(enemy)
|
||||
for x in level.enemy_spawns:
|
||||
if !x.done_spawning:
|
||||
return
|
||||
@ -111,9 +113,11 @@ func enemy_died():
|
||||
win_game()
|
||||
|
||||
|
||||
func damage_goal(penalty):
|
||||
func damage_goal(enemy, penalty):
|
||||
enemies -= 1
|
||||
enemy_number_changed.emit(enemies)
|
||||
for key in connected_players_nodes:
|
||||
connected_players_nodes[key].hud.enemy_count_down(enemy)
|
||||
objective_health -= penalty
|
||||
base_took_damage.emit(objective_health)
|
||||
if objective_health <= 0:
|
||||
|
@ -2,9 +2,11 @@ extends Camera3D
|
||||
class_name MinimapCamera3D
|
||||
|
||||
@export var anchor : Node3D
|
||||
@export var face_north : bool
|
||||
#@export var face_north : bool
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
global_position = anchor.global_position + (Vector3.UP * 100)
|
||||
if face_north:
|
||||
if Data.preferences.fixed_minimap:
|
||||
rotation.y = 0
|
||||
else:
|
||||
rotation.y = anchor.rotation.y
|
||||
|
@ -1,6 +1,7 @@
|
||||
extends Control
|
||||
class_name OptionsMenu
|
||||
|
||||
@export var keybind_popup : PackedScene
|
||||
@export var look_sens_slider : HSlider
|
||||
@export var look_sens_input : SpinBox
|
||||
@export var toggle_sprint_checkbox : CheckButton
|
||||
@ -11,6 +12,7 @@ class_name OptionsMenu
|
||||
@export var invert_lookX : CheckButton
|
||||
@export var fov_input : SpinBox
|
||||
@export var fov_slider : HSlider
|
||||
@export var fixed_minimap : CheckButton
|
||||
var keybind_boxes = []
|
||||
var keybind_buttons = {}
|
||||
var key_event
|
||||
@ -28,6 +30,7 @@ func _ready():
|
||||
invert_lookX.button_pressed = Data.preferences.invert_lookX
|
||||
fov_input.value = Data.preferences.hfov
|
||||
fov_slider.value = Data.preferences.hfov
|
||||
fixed_minimap.button_pressed = Data.preferences.fixed_minimap
|
||||
|
||||
for index in Data.keymaps.size():
|
||||
var map = Data.keymaps[index]
|
||||
@ -81,6 +84,7 @@ func _on_confirm_pressed() -> void:
|
||||
Data.preferences.windowed_mode = window_dropdown.selected
|
||||
Data.preferences.invert_lookY = invert_lookY.button_pressed
|
||||
Data.preferences.invert_lookX = invert_lookX.button_pressed
|
||||
Data.preferences.fixed_minimap = fixed_minimap.button_pressed
|
||||
Data.preferences.apply_graphical_settings(get_viewport())
|
||||
Data.preferences.save_profile_to_disk()
|
||||
Data.player_keymap.save_profile_to_disk()
|
||||
@ -112,12 +116,11 @@ func _on_fov_h_slider_value_changed(value: float) -> void:
|
||||
func _on_keybind_button_pressed(value: Button) -> void:
|
||||
selected_button = keybind_buttons[value]
|
||||
selected_button_button = value
|
||||
listening_for_key = true
|
||||
var popup = keybind_popup.instantiate()
|
||||
popup.event_detected.connect(change_key)
|
||||
add_child(popup)
|
||||
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if listening_for_key and (event is InputEventKey or event is InputEventMouseButton or event is InputEventJoypadButton):
|
||||
key_event = event
|
||||
listening_for_key = false
|
||||
Data.player_keymap.replace_action_event(selected_button, key_event)
|
||||
selected_button_button.text = key_event.as_text()
|
||||
func change_key(event: InputEvent):
|
||||
Data.player_keymap.replace_action_event(selected_button, event)
|
||||
selected_button_button.text = event.as_text()
|
||||
|
Reference in New Issue
Block a user