diff --git a/main.gd b/main.gd index 56c3151..5cad2a2 100644 --- a/main.gd +++ b/main.gd @@ -43,10 +43,41 @@ func list_levels(): dir.list_dir_end() levels.sort() - return levels + + var level_sequence = [ + "welcome", + "basics", + "blob-create", + "blob-remove", + "index-add", + "index-remove", + "index-update", + "tree-create", + "tree-read", + "tree-nested", + "commit-create", + "commit-parents", + "commit-rhombus", + "ref-create", + "ref-move", + "ref-remove", + "symref-create", + "symref-no-deref", + ] + + for level in level_sequence: + if not levels.has(level): + push_error("Level '%s' is specified in the sequence, but could not be found" % level) + levels.erase(level) + + level_sequence += levels + + return level_sequence func load_level(id): $NextLevelButton.hide() + $LevelCongrats.hide() + $LevelDescription.show() current_level = id var levels = list_levels() @@ -62,6 +93,11 @@ func load_level(id): var description_file = level_prefix+level+"/description" var description = game.read_file(description_file, "no description") $LevelDescription.bbcode_text = description + + var congrats_file = level_prefix+level+"/congrats" + var congrats = game.read_file(congrats_file, "Good job, you solved the level!\n\nFeel free to try a few more things or click 'Next Level'.") + $LevelCongrats.bbcode_text = congrats + $LevelName.text = level # We're actually destroying stuff here. @@ -147,7 +183,8 @@ func save_message(): func show_win_status(): $NextLevelButton.show() - $LevelDescription.text = "Yay, you solved the puzzle! Enjoy the view or continue to the next level!" + $LevelDescription.hide() + $LevelCongrats.show() func repopulate_levels(): diff --git a/main.tscn b/main.tscn index 0078b53..9f20298 100644 --- a/main.tscn +++ b/main.tscn @@ -131,6 +131,20 @@ __meta__ = { "_edit_use_anchors_": false } +[node name="LevelCongrats" type="RichTextLabel" parent="."] +visible = false +margin_left = 1224.0 +margin_top = 121.0 +margin_right = 1908.0 +margin_bottom = 605.0 +custom_fonts/normal_font = ExtResource( 5 ) +bbcode_enabled = true +bbcode_text = "Level description here!" +text = "Level congrats here!" +__meta__ = { +"_edit_use_anchors_": false +} + [node name="NextLevelButton" type="Button" parent="."] margin_left = 1688.03 margin_top = 16.2615 diff --git a/repository.gd b/repository.gd index b6eb94f..f79c83a 100644 --- a/repository.gd +++ b/repository.gd @@ -13,8 +13,6 @@ var _simplified_view = false func _ready(): $Nodes.rect_pivot_offset = $Nodes.rect_size / 2 - print($Nodes.rect_pivot_offset) - pass func _process(_delta): if path: @@ -28,11 +26,13 @@ func _input(event): $Nodes.rect_scale += Vector2(0.05, 0.05) func update_everything(): - update_head() - update_refs() - update_index() - update_objects() - remove_gone_stuff() + $Index.text = "" + if shell.run("test -d .git && echo yes || echo no") == "yes\n": + update_head() + update_refs() + update_index() + update_objects() + remove_gone_stuff() func set_path(new_path): path = new_path @@ -167,9 +167,9 @@ func update_head(): n.children = {ref_target("HEAD"): ""} func all_objects(): - var objects = git("cat-file --batch-check='%(objectname)' --batch-all-objects", true) + var obj = git("cat-file --batch-check='%(objectname)' --batch-all-objects", true) var dict = {} - for o in objects: + for o in obj: dict[o] = "" return dict diff --git a/repository.tscn b/repository.tscn index 5d02db9..2e241f7 100644 --- a/repository.tscn +++ b/repository.tscn @@ -23,8 +23,6 @@ margin_top = 80.0 margin_right = 375.079 margin_bottom = 1044.0 custom_fonts/font = ExtResource( 2 ) -text = "file1 -file2" __meta__ = { "_edit_use_anchors_": false }