diff --git a/globals/debug_overlay.gd b/globals/debug_overlay.gd index d3a9e2c..866cec3 100644 --- a/globals/debug_overlay.gd +++ b/globals/debug_overlay.gd @@ -3,7 +3,12 @@ extends CanvasLayer @export_group("Internal References") @export var _fps_counter: Label +@export var _bullet_counter: Label func _process(delta: float) -> void: + if not visible: + return + _fps_counter.text = str(Engine.get_frames_per_second()) + _bullet_counter.text = str(get_tree().get_node_count_in_group(&"bullets")) diff --git a/globals/debug_overlay.tscn b/globals/debug_overlay.tscn index ab60864..2c9ac64 100644 --- a/globals/debug_overlay.tscn +++ b/globals/debug_overlay.tscn @@ -2,10 +2,11 @@ [ext_resource type="Script" uid="uid://dvn62r3oriwu8" path="res://globals/debug_overlay.gd" id="1_7e5kj"] -[node name="DebugOverlay" type="CanvasLayer" node_paths=PackedStringArray("_fps_counter")] +[node name="DebugOverlay" type="CanvasLayer" node_paths=PackedStringArray("_fps_counter", "_bullet_counter")] layer = 1000 script = ExtResource("1_7e5kj") _fps_counter = NodePath("VBoxContainer/FPS/FPSCounter") +_bullet_counter = NodePath("VBoxContainer/Bullets/BulletCount") [node name="VBoxContainer" type="VBoxContainer" parent="."] @@ -18,3 +19,13 @@ text = "FPS:" [node name="FPSCounter" type="Label" parent="VBoxContainer/FPS"] layout_mode = 2 + +[node name="Bullets" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="VBoxContainer/Bullets"] +layout_mode = 2 +text = "Total Bullets" + +[node name="BulletCount" type="Label" parent="VBoxContainer/Bullets"] +layout_mode = 2 diff --git a/objects/bullet_emitter/bullet_emitter.gd b/objects/bullet_emitter/bullet_emitter.gd index 4675b0d..3cc48d6 100644 --- a/objects/bullet_emitter/bullet_emitter.gd +++ b/objects/bullet_emitter/bullet_emitter.gd @@ -3,6 +3,8 @@ class_name BulletEmitter extends Node2D @export var is_player_bullet = false @export var bullet_type: PackedScene +var _instance + func emit_bullets(): var SpawnedBullet = bullet_type.instantiate() SpawnedBullet.is_player_bullet = is_player_bullet diff --git a/objects/bullet_emitter/test_bullet_emitter.gd b/objects/bullet_emitter/test_bullet_emitter.gd index 99bd4f6..7d8080e 100644 --- a/objects/bullet_emitter/test_bullet_emitter.gd +++ b/objects/bullet_emitter/test_bullet_emitter.gd @@ -2,6 +2,6 @@ extends BulletEmitter func _on_timer_timeout() -> void: - for i in range(10): + for i in range(500): emit_bullets() %AudioStreamPlayer.play() diff --git a/objects/bullet_types/bullet.gd b/objects/bullet_types/bullet.gd index a68e649..4990206 100644 --- a/objects/bullet_types/bullet.gd +++ b/objects/bullet_types/bullet.gd @@ -1,3 +1,7 @@ class_name Bullet extends Node2D @export var is_player_bullet = false + + +func _init() -> void: + add_to_group(&"bullets") diff --git a/objects/bullet_types/test_bullet.tscn b/objects/bullet_types/test_bullet.tscn index e83b9d2..34bf3a2 100644 --- a/objects/bullet_types/test_bullet.tscn +++ b/objects/bullet_types/test_bullet.tscn @@ -59,3 +59,8 @@ frame_progress = 0.26925442 sprite_frames = SubResource("SpriteFrames_10vvt") autoplay = "default" frame_progress = 0.21053335 + +[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."] +rect = Rect2(-4, -4, 8, 8) + +[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="queue_free"] diff --git a/project.godot b/project.godot index 2cd93fe..cb59843 100644 --- a/project.godot +++ b/project.godot @@ -26,6 +26,7 @@ DebugOverlay="*res://globals/debug_overlay.tscn" window/size/viewport_width=240 window/size/viewport_height=320 +window/vsync/vsync_mode=0 [file_customization]