enemies_ui script

pull/13/head
Sascha 2024-07-13 16:25:30 +07:00
parent ee0fba050d
commit 410fa11acf
9 changed files with 120 additions and 48 deletions

@ -1,22 +1,27 @@
[gd_scene load_steps=2 format=3 uid="uid://bv0yhkf3bvbxi"]
[gd_scene load_steps=3 format=3 uid="uid://bv0yhkf3bvbxi"]
[ext_resource type="Texture2D" uid="uid://brdoqvapyya5b" path="res://resources/images/icon.svg" id="1_rvge7"]
[ext_resource type="Texture2D" uid="uid://chkly72g0pu8o" path="res://resources/images/viking-helmet.png" id="1_7x375"]
[ext_resource type="Script" path="res://scripts/enemies_ui.gd" id="1_atxm0"]
[node name="Enemies_UI" type="Control"]
custom_minimum_size = Vector2(64, 128)
layout_mode = 3
anchors_preset = 0
size_flags_horizontal = 4
size_flags_vertical = 4
script = ExtResource("1_atxm0")
[node name="CanvasGroup" type="CanvasGroup" parent="."]
[node name="Sprite2D" type="Sprite2D" parent="CanvasGroup"]
position = Vector2(64, 64)
texture = ExtResource("1_rvge7")
position = Vector2(32, 32)
scale = Vector2(0.125, 0.125)
texture = ExtResource("1_7x375")
[node name="Label" type="Label" parent="CanvasGroup"]
offset_top = 128.0
offset_right = 128.0
offset_bottom = 151.0
text = "Name: Godot
Position: 0, 0, 0"
offset_top = 64.0
offset_right = 64.0
offset_bottom = 113.0
text = "Godot
0, 0, 0"
horizontal_alignment = 1

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://chkly72g0pu8o"
path="res://.godot/imported/viking-helmet.png-24c3ab0eccac4d3c5741deae96d6c1e0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/images/viking-helmet.png"
dest_files=["res://.godot/imported/viking-helmet.png-24c3ab0eccac4d3c5741deae96d6c1e0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

File diff suppressed because one or more lines are too long

@ -41,11 +41,13 @@ size = Vector3(10000, 10000, 1000)
[node name="GameManager" type="Node" parent="."]
script = ExtResource("1_kvi4c")
[node name="SpawnManager" type="Node" parent="." node_paths=PackedStringArray("spawn_points", "enemies_folder")]
[node name="SpawnManager" type="Node" parent="." node_paths=PackedStringArray("spawn_points", "enemies_folder", "enemies_ui_container")]
script = ExtResource("4_2vmwg")
spawn_points = [NodePath("SpawnPoints/SpawnPoint1"), NodePath("SpawnPoints/SpawnPoint2"), NodePath("SpawnPoints/SpawnPoint3"), NodePath("SpawnPoints/SpawnPoint4")]
enemies_folder = NodePath("Enemies")
enemies = Array[PackedScene]([ExtResource("13_8a4e7")])
enemies_ui_container = NodePath("../CanvasGroup/Enemies_UI/EnemiesUIContainer")
enemies_ui = ExtResource("9_p6yn7")
[node name="SpawnPoints" type="Node" parent="SpawnManager"]
@ -175,12 +177,27 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -12.61
[node name="Enemies_UI" type="CanvasLayer" parent="CanvasGroup"]
[node name="Enemies_UI" parent="CanvasGroup/Enemies_UI" instance=ExtResource("9_p6yn7")]
anchors_preset = 0
anchor_right = 0.0
anchor_bottom = 0.0
grow_horizontal = 1
grow_vertical = 1
[node name="EnemiesUIContainer" type="VBoxContainer" parent="CanvasGroup/Enemies_UI"]
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -64.0
offset_bottom = 40.0
grow_horizontal = 0
size_flags_horizontal = 4
size_flags_vertical = 0
[node name="Enemies_UI" parent="CanvasGroup/Enemies_UI/EnemiesUIContainer" node_paths=PackedStringArray("spawn_manager") instance=ExtResource("9_p6yn7")]
layout_mode = 2
spawn_manager = NodePath("../../../../SpawnManager")
[node name="Enemies_UI2" parent="CanvasGroup/Enemies_UI/EnemiesUIContainer" node_paths=PackedStringArray("spawn_manager") instance=ExtResource("9_p6yn7")]
layout_mode = 2
spawn_manager = NodePath("../../../../SpawnManager")
[node name="Enemies_UI3" parent="CanvasGroup/Enemies_UI/EnemiesUIContainer" node_paths=PackedStringArray("spawn_manager") instance=ExtResource("9_p6yn7")]
layout_mode = 2
spawn_manager = NodePath("../../../../SpawnManager")
[node name="UI" type="CanvasLayer" parent="CanvasGroup"]

@ -0,0 +1,12 @@
class_name EnemiesUI extends Control
@export var spawn_manager: SpawnManager
@onready var sprite_2d: Sprite2D = $CanvasGroup/Sprite2D
@onready var label: Label = $CanvasGroup/Label
func _ready() -> void:
spawn_manager.update_enemies_ui.connect(update_enemy_ui)
func update_enemy_ui(enemy: Enemy) -> void:
label.text = enemy.unit_name + "\n" + str(enemy.position)

@ -1,5 +1,4 @@
class_name HurtBox
extends Area3D
class_name HurtBox extends Area3D
func _init() -> void:
collision_layer = 0

@ -4,9 +4,13 @@ class_name SpawnManager extends Node
@export var spawn_points: Array[SpawnPoint]
@export var enemies_folder: Node
@export var enemies: Array[PackedScene]
@export var enemies_ui_container: VBoxContainer
@export var enemies_ui: PackedScene
@onready var player : Player = get_tree().get_first_node_in_group("player")
signal update_enemies_ui(enemy: Enemy)
var enemy_count := 0
var enemy_number := 0
@ -35,6 +39,7 @@ func spawn_new_enemy(spawn_point: SpawnPoint) -> void:
enemies_folder.add_child(new_enemy)
spawn_point.isFull = true
spawn_point.enemy = new_enemy
update_enemies_ui.emit(new_enemy)
func find_empty_spawn_points(all_spawn_points: Array[SpawnPoint]) -> Array[SpawnPoint]:
var empty_spawn_points: Array[SpawnPoint]