Преглед на файлове

:wrench: Enforce start slide parameter

Assert that the starting slide is withing bounds of the slides array.
DricomDragon преди 2 години
родител
ревизия
af91f822da
променени са 1 файла, в които са добавени 13 реда и са изтрити 1 реда
  1. 13 1
      godot/projector/show/Show.gd

+ 13 - 1
godot/projector/show/Show.gd

@@ -16,7 +16,7 @@ var current_slide: Slide
 
 
 func _ready():
-	_enforce_children()
+	_enforce()
 	next_slide()
 
 
@@ -42,6 +42,18 @@ func _connect_current_slide():
 	current_slide.finished.connect(_on_current_slide_finished)
 
 
+func _enforce() -> void:
+	_enforce_parameters()
+	_enforce_children()
+
+
+func _enforce_parameters() -> void:
+	assert(start_slide >= 0,
+		"Negative index is not supported for start_slide")
+	assert(start_slide < slides.size(),
+		"start_slide index is out of bound (max is %s)" % (slides.size() - 1))
+
+
 func _enforce_children() -> void:
 	assert(!slides.is_empty(), "A slideshow must contain slides")
 	for slide in slides: