some ui improvements

This commit is contained in:
2023-12-09 01:09:12 +11:00
parent e97bf84612
commit 7dd8f88ca7
35 changed files with 408 additions and 216 deletions

View File

@ -19,6 +19,12 @@ var enemy_names = []
@export var weapon_energy_bar : TextureProgressBar
@export var offhand_energy_bar : TextureProgressBar
@export var pickup_notif_scene : PackedScene
@export var wave_start_label : Label
var wave_start_label_shrinking := false
var wave_start_label_growing := false
var wave_start_label_acceleration := 200.0
var wave_start_label_speed := 0.0
func set_energy_visible(value):
@ -29,8 +35,39 @@ func set_offhand_energy_visible(value):
offhand_energy_bar.set_visible(value)
func _process(_delta: float) -> void:
func _process(delta: float) -> void:
fps_label.text = "FPS: " + str(Engine.get_frames_per_second())
wave_start_label.text = "Press [" + Data.player_keymap.ready.as_text_key_label() + "] to start wave"
if wave_start_label_growing:
wave_start_label.set_visible(true)
wave_start_label_speed += wave_start_label_acceleration * delta
wave_start_label.offset_left -= wave_start_label_speed * delta
wave_start_label.offset_right += wave_start_label_speed * delta
if wave_start_label.offset_left <= -300:
wave_start_label.offset_left = -300
wave_start_label.offset_right = 300
wave_start_label_growing = false
wave_start_label_speed = 0.0
if wave_start_label_shrinking:
wave_start_label_speed += wave_start_label_acceleration * delta
wave_start_label.offset_left += wave_start_label_speed * delta
wave_start_label.offset_right -= wave_start_label_speed * delta
if wave_start_label.offset_left >= 0:
wave_start_label.set_visible(false)
wave_start_label.offset_left = 0
wave_start_label.offset_right = 0
wave_start_label_shrinking = false
wave_start_label_speed = 0.0
func grow_wave_start_label():
wave_start_label_growing = true
wave_start_label_shrinking = false
func shrink_wave_start_label():
wave_start_label_shrinking = true
wave_start_label_growing = false
func set_hover_text(text):

View File

@ -31,7 +31,7 @@ func _ready() -> void:
player_keymap.apply()
characters.append(preload("res://PCs/Red/red.tres"))
characters.append(preload("res://PCs/Green/green.tres"))
#characters.append(preload("res://PCs/Green/green.tres"))
characters.append(preload("res://PCs/Blue/blue.tres"))
#Common

View File

@ -12,7 +12,7 @@ var enet_peer = ENetMultiplayerPeer.new()
@export var server_form : ServerForm
@export var scoreboard : Scoreboard
@export var loadout_editor : LoadoutEditor
@export var loadout_editor : HeroSelector
@export var chatbox : Chatbox
var alert_popup_scene = preload("res://Scenes/Menus/alert_popup.tscn")
var connected_players_profiles = {}
@ -68,8 +68,8 @@ func setup_game(peer_id):
setup_the_ui()
chatbox.username = Data.player_profile.display_name
Data.player_profile.display_name_changed.connect(chatbox.change_username)
loadout_editor.character_selected.connect(Data.player_profile.set_preferred_class)
loadout_editor.character_selected.connect(edit_player_profile)
loadout_editor.hero_selected.connect(Data.player_profile.set_preferred_class)
loadout_editor.hero_selected.connect(edit_player_profile)
connected_players_profiles[peer_id] = Data.player_profile
player_connected.emit(peer_id, Data.player_profile)

View File

@ -1,7 +1,7 @@
extends Control
@export var scoreboard : Scoreboard
@export var loadout_editor : LoadoutEditor
@export var loadout_editor : HeroSelector
@export var chatbox : Chatbox
var connected_players_profiles = {}
@ -23,8 +23,8 @@ func setup_game():
setup_the_ui()
chatbox.username = Data.player_profile.display_name
Data.player_profile.display_name_changed.connect(chatbox.change_username)
loadout_editor.character_selected.connect(Data.player_profile.set_preferred_class)
loadout_editor.character_selected.connect(edit_player_profile)
loadout_editor.hero_selected.connect(Data.player_profile.set_preferred_class)
loadout_editor.hero_selected.connect(edit_player_profile)
connected_players_profiles[1] = Data.player_profile

View File

@ -5,6 +5,10 @@ class_name TowerBase
@export var block : Node3D
@export var collider : CollisionShape3D
@export var minimap_icon : Sprite3D
@export var north_icon : Sprite3D
@export var south_icon : Sprite3D
@export var east_icon : Sprite3D
@export var west_icon : Sprite3D
@export var north_mesh : CSGBox3D
@export var south_mesh : CSGBox3D
@export var east_mesh : CSGBox3D
@ -73,6 +77,10 @@ func networked_spawn_tower(caller_id : int):
tower.owner_id = caller_id
tower.position = Vector3(0, 1.2, 0)
minimap_icon.modulate = Color.RED
north_icon.modulate = Color.RED
south_icon.modulate = Color.RED
west_icon.modulate = Color.RED
east_icon.modulate = Color.RED
add_child(tower)
@ -81,3 +89,7 @@ func networked_remove_tower():
tower.queue_free()
tower = null
minimap_icon.modulate = Color.GREEN
north_icon.modulate = Color.GREEN
south_icon.modulate = Color.GREEN
west_icon.modulate = Color.GREEN
east_icon.modulate = Color.GREEN