added new health bar and new energy pip bar

This commit is contained in:
2025-11-04 12:52:27 +11:00
parent a411be74aa
commit 2f4159ebbe
54 changed files with 1193 additions and 254 deletions

View File

@@ -3,6 +3,7 @@ extends Node3D
signal energy_spent(energy: int, type: Data.EnergyType)
signal energy_recharged(energy: int, type: Data.EnergyType)
signal energy_changed(energy: float)
@export var stats: CardText
@export var animator: AnimationPlayer
@@ -50,11 +51,13 @@ func _process(delta: float) -> void:
current_energy = max_energy
recharging = false
energy_recharged.emit(recharge_speed * delta, stats.energy_type)
energy_changed.emit(current_energy)
if time_since_firing < time_between_shots:
time_since_firing += delta
if trigger_held and stats.energy_type == Data.EnergyType.CONTINUOUS:
current_energy -= delta
energy_spent.emit(delta, stats.energy_type)
energy_changed.emit(current_energy)
@warning_ignore("unused_parameter")
@@ -64,6 +67,7 @@ func _physics_process(delta: float) -> void:
current_energy -= 1
current_energy = floorf(current_energy)
energy_spent.emit(1, stats.energy_type)
energy_changed.emit(current_energy)
time_since_firing -= time_between_shots
shoot()
networked_shoot.rpc()

View File

@@ -26,6 +26,7 @@ static var target_type_names: Dictionary[TargetType, String] = {
static var weapon_recharge_delay: float = 0.5
static var starting_cash: int = 10
static var starting_lives: int = 144
static var player_energy: int = 6
static var wall_cost: int = 1
static var rarity_weights: Dictionary = {

View File

@@ -22,7 +22,7 @@ var game_active: bool = false
var gamemode: GameMode = null
var level: Level
var enemies: int = 0
var objective_health: int = 120
var objective_health: int = Data.starting_lives
var wave: int
var pot: float
var UILayer: CanvasLayer
@@ -38,24 +38,6 @@ var starting_blanks: int = 0
var connected_player_profiles: Dictionary = {}
func _ready() -> void:
UILayer = CanvasLayer.new()
UILayer.layer = 2
root_scene.add_child.call_deferred(UILayer)
var version_label: Label = Label.new()
var version: String = ProjectSettings.get_setting("application/config/version")
version_label.text = "WORK IN PROGRESS | ALPHA - VERSION " + version + " | PLAYTEST"
version_label.vertical_alignment = VERTICAL_ALIGNMENT_CENTER
version_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
version_label.theme_type_variation = "VersionLabel"
#version_label.add_theme_font_size_override("font_size", 18)
#version_label.add_theme_color_override("font_color", Color(0.85, 0.85, 0.85, 0.7))
version_label.set_anchors_preset(Control.PRESET_TOP_WIDE)
UILayer.add_child(version_label)
Input.set_custom_mouse_cursor(load("res://Assets/Textures/cursor_none.png"), Input.CURSOR_ARROW, Vector2(9, 6))
Input.set_custom_mouse_cursor(load("res://Assets/Textures/bracket_b_vertical.png"), Input.CURSOR_IBEAM, Vector2(16, 16))
func parse_command(text: String, peer_id: int) -> void:
if text.substr(1, 4) == "give":
var gift_name: String = text.substr(6) as String
@@ -295,7 +277,7 @@ func setup() -> void:
#Set starting parameters
game_active = false
enemies = 0
objective_health = 120
objective_health = Data.starting_lives
wave = 1
stats = RoundStats.new()
game_setup.emit()