Skip to content

Commit da0a43d

Browse files
committed
refactor: improve enemy scene loading with error handling
1 parent d23cf6d commit da0a43d

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

World.gd

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

1210
var Laser = preload("res://projectiles/PlayerLaser.tscn")
1311
var score := 0:
@@ -18,15 +16,25 @@ var hi_score
1816
var scroll_speed = 100
1917

2018
func _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

3139
func save_game():
3240
var save_file = FileAccess.open("user://save.data", FileAccess.WRITE)

0 commit comments

Comments
 (0)