solve level_up signal bug

master
Sascha 2025-01-05 15:36:29 +07:00
parent c23ea7c753
commit 7c83a31cb5
15 changed files with 42 additions and 37 deletions

@ -189,4 +189,4 @@ Game={
"hide_selection": false, "hide_selection": false,
"select_mode": 0 "select_mode": 0
} }
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Tree")]) selected_nodes=Array[NodePath]([])

@ -26,10 +26,10 @@ dock_5="Inspector,Node,History"
[EditorNode] [EditorNode]
open_scenes=PackedStringArray("res://scenes/game.tscn", "res://scenes/player.tscn", "res://scenes/gun.tscn", "res://scenes/boss.tscn", "res://scenes/tree.tscn") open_scenes=PackedStringArray("res://scenes/game.tscn", "res://scenes/player.tscn", "res://scenes/gun.tscn", "res://scenes/boss.tscn", "res://scenes/tree.tscn")
current_scene="res://scenes/game.tscn" current_scene="res://scenes/player.tscn"
center_split_offset=-317 center_split_offset=-317
selected_default_debugger_tab_idx=0 selected_default_debugger_tab_idx=0
selected_main_editor_idx=0 selected_main_editor_idx=2
selected_bottom_panel_item=0 selected_bottom_panel_item=0
[EditorWindow] [EditorWindow]

@ -4,3 +4,6 @@ res://scenes/player.tscn
res://scenes/gun.tscn res://scenes/gun.tscn
res://scenes/boss.tscn res://scenes/boss.tscn
res://scenes/tree.tscn res://scenes/tree.tscn
res://scripts/gun.gd
res://scripts/game.gd
res://scripts/player.gd

@ -189,4 +189,4 @@ Game={
"hide_selection": false, "hide_selection": false,
"select_mode": 0 "select_mode": 0
} }
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Game/Map/BackgroundColor")]) selected_nodes=Array[NodePath]([])

@ -8,7 +8,7 @@ Anim={
"grid_snap_active": false, "grid_snap_active": false,
"grid_step": Vector2(8, 8), "grid_step": Vector2(8, 8),
"grid_visibility": 1, "grid_visibility": 1,
"ofs": Vector2(-2073.91, -1275.8), "ofs": Vector2(-598.838, -538.264),
"primary_grid_step": Vector2i(8, 8), "primary_grid_step": Vector2i(8, 8),
"show_group_gizmos": true, "show_group_gizmos": true,
"show_guides": true, "show_guides": true,
@ -34,7 +34,7 @@ Anim={
"snap_rotation_step": 0.261799, "snap_rotation_step": 0.261799,
"snap_scale": false, "snap_scale": false,
"snap_scale_step": 0.1, "snap_scale_step": 0.1,
"zoom": 0.385543 "zoom": 0.826446
} }
3D={ 3D={
"fov": 70.01, "fov": 70.01,
@ -189,4 +189,4 @@ Game={
"hide_selection": false, "hide_selection": false,
"select_mode": 0 "select_mode": 0
} }
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Tree")]) selected_nodes=Array[NodePath]([])

@ -1,5 +1,5 @@
[folding] [folding]
node_unfolds=[NodePath("."), PackedStringArray("Collision"), NodePath("CollisionShape2D"), PackedStringArray("shape"), NodePath("Pivot/Pistol"), PackedStringArray("Transform"), NodePath("Pivot/Pistol/ShootingPoint"), PackedStringArray("Transform")] node_unfolds=[NodePath("."), PackedStringArray("Collision"), NodePath("CollisionShape2D"), PackedStringArray("shape", "Transform"), NodePath("Pivot/Pistol"), PackedStringArray("Transform"), NodePath("Pivot/Pistol/ShootingPoint"), PackedStringArray("Transform")]
resource_unfolds=["res://scenes/gun.tscn::CircleShape2D_o2wld", PackedStringArray("Resource")] resource_unfolds=["res://scenes/gun.tscn::CircleShape2D_o2wld", PackedStringArray("Resource")]
nodes_folded=[] nodes_folded=[]

@ -8,7 +8,7 @@ Anim={
"grid_snap_active": false, "grid_snap_active": false,
"grid_step": Vector2(8, 8), "grid_step": Vector2(8, 8),
"grid_visibility": 1, "grid_visibility": 1,
"ofs": Vector2(-11019.3, -5745.12), "ofs": Vector2(-705, -508),
"primary_grid_step": Vector2i(8, 8), "primary_grid_step": Vector2i(8, 8),
"show_group_gizmos": true, "show_group_gizmos": true,
"show_guides": true, "show_guides": true,
@ -34,7 +34,7 @@ Anim={
"snap_rotation_step": 0.261799, "snap_rotation_step": 0.261799,
"snap_scale": false, "snap_scale": false,
"snap_scale_step": 0.1, "snap_scale_step": 0.1,
"zoom": 0.0762776 "zoom": 1.0
} }
3D={ 3D={
"fov": 70.01, "fov": 70.01,
@ -189,4 +189,4 @@ Game={
"hide_selection": false, "hide_selection": false,
"select_mode": 0 "select_mode": 0
} }
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Tree")]) selected_nodes=Array[NodePath]([])

@ -14,7 +14,7 @@ recent_presets=PackedColorArray(0.552941, 0.0980392, 0.843137, 1, 0.768627, 0.11
create_new_node=Rect2(3390, 370, 900, 700) create_new_node=Rect2(3390, 370, 900, 700)
project_settings=Rect2(3240, 370, 1200, 700) project_settings=Rect2(3240, 370, 1200, 700)
export=Rect2(2996, 300, 1144, 810) export=Rect2(2996, 300, 1144, 810)
editor_settings=Rect2(3067, 304, 900, 700) editor_settings=Rect2(3067, 304, 1148, 872)
search_help=Rect2(3200, 360, 1280, 720) search_help=Rect2(3200, 360, 1280, 720)
[recent_files] [recent_files]

@ -1,3 +1,5 @@
/usr/share/fonts/TTF
/home/sascha/Godot/Inter
/home/sascha/Godot/godot-minimal-theme /home/sascha/Godot/godot-minimal-theme
res://scripts res://scripts
res://scenes res://scenes

@ -73,11 +73,11 @@ state={
state={ state={
"bookmarks": PackedInt32Array(), "bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(), "breakpoints": PackedInt32Array(),
"column": 0, "column": 39,
"folded_lines": Array[int]([]), "folded_lines": Array[int]([]),
"h_scroll_position": 0, "h_scroll_position": 0,
"row": 33, "row": 55,
"scroll_position": 0.0, "scroll_position": 46.0,
"selection": false, "selection": false,
"syntax_highlighter": "GDScript" "syntax_highlighter": "GDScript"
} }
@ -87,10 +87,10 @@ state={
state={ state={
"bookmarks": PackedInt32Array(), "bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(), "breakpoints": PackedInt32Array(),
"column": 41, "column": 27,
"folded_lines": Array[int]([]), "folded_lines": Array[int]([]),
"h_scroll_position": 0, "h_scroll_position": 0,
"row": 20, "row": 22,
"scroll_position": 0.0, "scroll_position": 0.0,
"selection": false, "selection": false,
"syntax_highlighter": "GDScript" "syntax_highlighter": "GDScript"
@ -129,10 +129,10 @@ state={
state={ state={
"bookmarks": PackedInt32Array(), "bookmarks": PackedInt32Array(),
"breakpoints": PackedInt32Array(), "breakpoints": PackedInt32Array(),
"column": 47, "column": 0,
"folded_lines": Array[int]([]), "folded_lines": Array[int]([]),
"h_scroll_position": 0, "h_scroll_position": 0,
"row": 18, "row": 4,
"scroll_position": 0.0, "scroll_position": 0.0,
"selection": false, "selection": false,
"syntax_highlighter": "GDScript" "syntax_highlighter": "GDScript"

@ -189,4 +189,4 @@ Game={
"hide_selection": false, "hide_selection": false,
"select_mode": 0 "select_mode": 0
} }
selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@18607/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@EditorMainScreen@98/MainScreen/@CanvasItemEditor@10371/@VSplitContainer@10195/@HSplitContainer@10197/@HSplitContainer@10199/@Control@10200/@SubViewportContainer@10201/@SubViewport@10202/Tree")]) selected_nodes=Array[NodePath]([])

@ -19,7 +19,7 @@ shape = SubResource("CircleShape2D_o2wld")
[node name="Pivot" type="Marker2D" parent="."] [node name="Pivot" type="Marker2D" parent="."]
[node name="Pistol" type="Sprite2D" parent="Pivot"] [node name="Pistol" type="Sprite2D" parent="Pivot"]
position = Vector2(95, -12) position = Vector2(172, -14)
texture = ExtResource("1_swcir") texture = ExtResource("1_swcir")
[node name="ShootingPoint" type="Marker2D" parent="Pivot/Pistol"] [node name="ShootingPoint" type="Marker2D" parent="Pivot/Pistol"]

@ -1,7 +1,7 @@
extends Node2D extends Node2D
signal game_over signal game_over
signal level_up() signal level_up
signal boss signal boss
signal update_ui(ui_data: UIDataResource) signal update_ui(ui_data: UIDataResource)
@ -77,8 +77,7 @@ func spawn_boss() -> void:
add_child(new_boss) add_child(new_boss)
func _on_level_up() -> void: func _on_level_up() -> void:
# spawn_mob_timer.wait_time = 1 - (game_data.level * 0.1) spawn_mob_timer.wait_time *= 0.95
level_up.emit(game_data.level)
update_ui_data() update_ui_data()
func update_ui_data() -> void: func update_ui_data() -> void:

@ -3,21 +3,22 @@ extends Area2D
signal shooted signal shooted
@export var bullet: PackedScene @export var bullet: PackedScene
@onready var timer: Timer = %Timer @onready var timer: Timer = %Timer
var is_shooting := false
func _physics_process(_delta: float) -> void: func _physics_process(_delta: float) -> void:
var enemies_in_range = get_overlapping_bodies() var enemies_in_range = get_overlapping_bodies()
if enemies_in_range.size() > 0: is_shooting = enemies_in_range.size() > 0
if is_shooting:
var target = enemies_in_range.front() var target = enemies_in_range.front()
look_at(target.global_position) look_at(target.global_position)
func shoot() -> void: func shoot() -> void:
var new_bullet = bullet.instantiate() if is_shooting:
new_bullet.global_position = %ShootingPoint.global_position var new_bullet = bullet.instantiate()
new_bullet.global_rotation = %ShootingPoint.global_rotation new_bullet.global_position = %ShootingPoint.global_position
%ShootingPoint.add_child(new_bullet) new_bullet.global_rotation = %ShootingPoint.global_rotation
shooted.emit() %ShootingPoint.add_child(new_bullet)
shooted.emit()
func _on_player_level_up() -> void:
func _on_player_level_up(_level: int) -> void: timer.wait_time *= 0.95
pass
# timer.wait_time = 0.5 - (level * 0.1)

@ -3,7 +3,7 @@ extends CharacterBody2D
signal health_depleted signal health_depleted
signal player_takes_damage signal player_takes_damage
signal shooted signal shooted
signal level_up(level: int) signal level_up
@export var SPEED := 600 @export var SPEED := 600
@export var DAMAGE_RATE := 10.0 @export var DAMAGE_RATE := 10.0
@ -35,5 +35,5 @@ func _physics_process(delta: float) -> void:
func _on_gun_shooted() -> void: func _on_gun_shooted() -> void:
shooted.emit() shooted.emit()
func _on_game_level_up(level: int) -> void: func _on_game_level_up() -> void:
level_up.emit(level) level_up.emit()