@@ -3,11 +3,9 @@ extends Node2D
33@onready var control = $ UiLayer/Control
44@onready var game_over_screen = $ UiLayer/GameOverScreen
55
6- # Comment out or update the preload line
7- # preload("res://characters/enemy/Enemy.tscn")
8-
9- # Instead, you can load the resource dynamically:
10- var enemy_scene = load ("res://characters/enemy/Enemy.tscn" )
6+ # Store the enemy scene path
7+ const ENEMY_SCENE_PATH = "res://characters/enemy/Enemy.tscn"
8+ var enemy_scene = null
119
1210var Laser = preload ("res://projectiles/PlayerLaser.tscn" )
1311var score := 0 :
@@ -18,15 +16,25 @@ var hi_score
1816var scroll_speed = 100
1917
2018func _ready ():
19+ # Try to load the enemy scene
20+ if ResourceLoader .exists (ENEMY_SCENE_PATH ):
21+ enemy_scene = load (ENEMY_SCENE_PATH )
22+ else :
23+ push_error ("Failed to load enemy scene from: " + ENEMY_SCENE_PATH )
24+
25+ # Load save file
2126 var save_file = FileAccess .open ("user://save.data" , FileAccess .READ )
22- if save_file != null :
27+ if save_file != null :
2328 hi_score = save_file .get_32 ()
24- else :
29+ else :
2530 hi_score = 0
2631 save_game ()
2732 score = 0
33+
34+ # Connect player signals
2835 var player = $ Player
29- player .connect ("killed" , Callable (self , "_on_player_killed" ))
36+ if player :
37+ player .connect ("killed" , Callable (self , "_on_player_killed" ))
3038
3139func save_game ():
3240 var save_file = FileAccess .open ("user://save.data" , FileAccess .WRITE )
0 commit comments