oh-my-git/scenes/levels.gd

46 lines
1 KiB
GDScript3
Raw Normal View History

2020-09-29 19:40:17 +02:00
extends Node
var chapters
func _ready():
var lang = game.os_lang
2020-09-29 19:40:17 +02:00
reload()
func reload():
chapters = []
var dir = Directory.new()
dir.open("res://levels/" + game.os_lang)
2020-09-29 19:40:17 +02:00
dir.list_dir_begin()
var chapter_names = []
while true:
var file = dir.get_next()
if file == "":
break
elif not file.begins_with(".") and file != "sequence":
2020-09-29 19:40:17 +02:00
chapter_names.append(file)
dir.list_dir_end()
chapter_names.sort()
var final_chapter_sequence = []
var chapter_sequence = Array(helpers.read_file("res://levels/" + game.os_lang + "/sequence", "").split("\n"))
for chapter in chapter_sequence:
if chapter == "":
continue
if not chapter_names.has(chapter):
helpers.crash("Chapter '%s' is specified in the sequence, but could not be found" % chapter)
chapter_names.erase(chapter)
final_chapter_sequence.push_back(chapter)
#final_chapter_sequence += chapter_names
for c in final_chapter_sequence:
2020-09-29 19:40:17 +02:00
var chapter = Chapter.new()
chapter.load("res://levels/" + game.os_lang + "/%s" % c)
2020-09-29 19:40:17 +02:00
chapters.push_back(chapter)