feat: ernergy bar on menu

This commit is contained in:
Varylios 2025-08-27 14:37:26 +02:00
parent 58f7a7c48e
commit f1ab7db046
7 changed files with 45 additions and 11 deletions

View file

@ -6,7 +6,7 @@ extends Node
signal tower_selected(tower : PackedScene)
#Emitter :
#Emitter :
#Subscriber :
signal tower_builded(tower : Tower)
@ -69,3 +69,7 @@ signal open_shop()
#Emitter : PlayerManager.gd
#Subscriber : game_menu.gd
signal close_shop()
#Emitter : tower.gd
#Subscriber : tower button.gd
signal energy_has_changed(tower : Tower)

View file

@ -55,7 +55,7 @@ func _process(delta: float) -> void:
if Input.is_action_just_pressed("rest"):
if _state == STATE.PLACING:
quit_placing()
EventBus.close_shop.emit()
if target_tower:
send_to_rest()
@ -80,7 +80,7 @@ func handle_player_controls() -> void:
selected_collider = collider
visible = true
$"selection-a".visible = true
$"selection-a".visible = true
global_position = collider.global_position
global_position += Vector3(0.0,0.2,0.0)
@ -88,10 +88,10 @@ func handle_player_controls() -> void:
target_tower = collider
else:
target_tower = null
if _state == STATE.PLACING:
tower_to_place.sprite.modulate = "ff4545c8" #If the tower can't be placed he is red
$"selection-a".visible = false
$"selection-a".visible = false
if selected_collider is BuildTile: #if we are placing a tower, hide the selector model
tower_to_place.sprite.modulate = "61ff45c8" #If the tower can be placed he is green
@ -114,7 +114,7 @@ func quit_placing() -> void:
func build_tower() -> void:
if tower_blueprint == null:
return
if !visible:
return
@ -142,7 +142,7 @@ func build_tower() -> void:
else :
#Can build
quit_placing() #Destroy the tower placeholder
EventBus.money_spent.emit(temp_tower.price)
tower_count += 1
$"../Towers".add_child(temp_tower)

View file

@ -32,6 +32,7 @@ var energy : float = max_energy:
is_exhausted = true
else:
is_exhausted = false
EventBus.energy_has_changed.emit(self)
var current_targets : Array = []
var current : CharacterBody3D
@ -74,6 +75,10 @@ func apply_upgrade(upgrade : TowerUpgrade):
else:
printerr("Upgrade already bought")
func _init() -> void:
EventBus.energy_has_changed.emit(self)
func _ready() -> void:
EventBus.tower_upgraded.connect(_on_EventBus_tower_upgraded)
energy_bar.set_up(energy, max_energy)

View file

@ -0,0 +1,9 @@
extends ProgressBar
func _init() -> void:
#font_outline_color = Color.YELLOW
EventBus.energy_has_changed.connect(changeEnergy)
func changeEnergy(tower : Tower) -> void:
if tower is Pierre:
value = tower.energy

View file

@ -0,0 +1 @@
uid://igvr34eaqta

View file

@ -23,7 +23,7 @@ func _on_button_pierre_pressed() -> void:
if tower is Pierre:
can_build = false
player_manager.selected_tower = tower #If can't build, tower is selected
if can_build: #If Pierre is not builded then build it !
print("can build !")
EventBus.tower_to_build.emit(load("res://Towers/pierre.tscn"))

View file

@ -1,10 +1,10 @@
[gd_scene load_steps=21 format=3 uid="uid://p6a6rb7sgeqd"]
[gd_scene load_steps=23 format=3 uid="uid://p6a6rb7sgeqd"]
[ext_resource type="Script" uid="uid://d2x8oy4os7ysn" path="res://UI/label_money.gd" id="1_cwd3r"]
[ext_resource type="Script" uid="uid://c350dletl5pde" path="res://UI/label_tower_in_cube.gd" id="2_6ujs1"]
[ext_resource type="Script" path="res://UI/label_tower_in_cube.gd" id="2_6ujs1"]
[ext_resource type="Script" uid="uid://bhylcok1l6eke" path="res://UI/gui.gd" id="2_sac4j"]
[ext_resource type="Script" uid="uid://dmcgoepvytnn" path="res://UI/cube_integrity.gd" id="2_sj6ny"]
[ext_resource type="Script" uid="uid://kngsgirej7lx" path="res://UI/label_tower_on_terrain.gd" id="3_wg577"]
[ext_resource type="Script" path="res://UI/label_tower_on_terrain.gd" id="3_wg577"]
[ext_resource type="Theme" uid="uid://bbp4qcbwkeg7x" path="res://default_theme.tres" id="5_wpcnu"]
[ext_resource type="Texture2D" uid="uid://csl43eb7qjhe4" path="res://Assets/Icones/dog-house.svg" id="7_fffne"]
[ext_resource type="Texture2D" uid="uid://dfnf26suc8yb6" path="res://Assets/Icones/sideswipe.svg" id="8_ay13l"]
@ -13,6 +13,7 @@
[ext_resource type="Texture2D" uid="uid://b4m5ejfdrm8s0" path="res://Assets/Icones/power-button.svg" id="9_reygo"]
[ext_resource type="Texture2D" uid="uid://cob1lydkirn20" path="res://Assets/Icones/raccoon-head.svg" id="10_reygo"]
[ext_resource type="Texture2D" uid="uid://boxdrq4nrq7hv" path="res://Assets/Icones/flamingo.svg" id="11_76b7g"]
[ext_resource type="Script" uid="uid://igvr34eaqta" path="res://UI/PierreEnergyMenuProgressBar.gd" id="12_decjp"]
[ext_resource type="Texture2D" uid="uid://m6jwakrus50v" path="res://Assets/Icones/sea-star.svg" id="12_ih1k6"]
[ext_resource type="Texture2D" uid="uid://dwwgho6f8f4kj" path="res://Assets/Icones/penguin.svg" id="13_ryolu"]
[ext_resource type="Texture2D" uid="uid://c4ir6y45pchpl" path="res://Assets/Icones/seahorse.svg" id="14_hndjt"]
@ -30,6 +31,9 @@ bg_color = Color(0.727498, 0.222072, 0.249347, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3lugd"]
bg_color = Color(0.933333, 0.933333, 0.933333, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_decjp"]
bg_color = Color(1, 0.878431, 0, 1)
[node name="GUI" type="Control"]
layout_mode = 3
anchors_preset = 15
@ -221,6 +225,17 @@ grow_vertical = 2
texture = ExtResource("9_decjp")
expand_mode = 1
[node name="ProgressBar" type="ProgressBar" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer/ButtonPierre"]
layout_mode = 0
offset_left = 1.0
offset_top = 71.0
offset_right = 79.0
offset_bottom = 78.0
mouse_filter = 1
theme_override_styles/fill = SubResource("StyleBoxFlat_decjp")
show_percentage = false
script = ExtResource("12_decjp")
[node name="ButtonAline" type="Button" parent="HBoxContainer/ControlPanelBase/MarginContainer/GridContainer"]
custom_minimum_size = Vector2(80, 80)
layout_mode = 2