mirror of
https://github.com/git-learning-game/oh-my-git.git
synced 2024-11-20 16:20:18 +01:00
When game is run with --sandbox, switch to sandbox
This commit is contained in:
parent
6e8a310a7a
commit
e439135ec9
6 changed files with 39 additions and 13 deletions
6
game.gd
6
game.gd
|
@ -27,15 +27,14 @@ func _ready():
|
||||||
func _initial_state():
|
func _initial_state():
|
||||||
return {"history": []}
|
return {"history": []}
|
||||||
|
|
||||||
func save_state() -> bool:
|
func save_state():
|
||||||
var savegame = File.new()
|
var savegame = File.new()
|
||||||
|
|
||||||
savegame.open(_file, File.WRITE)
|
savegame.open(_file, File.WRITE)
|
||||||
savegame.store_line(to_json(state))
|
savegame.store_line(to_json(state))
|
||||||
savegame.close()
|
savegame.close()
|
||||||
return true
|
|
||||||
|
|
||||||
func load_state() -> bool:
|
func load_state():
|
||||||
var savegame = File.new()
|
var savegame = File.new()
|
||||||
if not savegame.file_exists(_file):
|
if not savegame.file_exists(_file):
|
||||||
save_state()
|
save_state()
|
||||||
|
@ -47,7 +46,6 @@ func load_state() -> bool:
|
||||||
for key in new_state:
|
for key in new_state:
|
||||||
state[key] = new_state[key]
|
state[key] = new_state[key]
|
||||||
savegame.close()
|
savegame.close()
|
||||||
return true
|
|
||||||
|
|
||||||
func copy_file_to_game_env(filename):
|
func copy_file_to_game_env(filename):
|
||||||
# Copy fake-editor to tmp directory (because the original might be in a .pck file).
|
# Copy fake-editor to tmp directory (because the original might be in a .pck file).
|
||||||
|
|
12
helpers.gd
12
helpers.gd
|
@ -54,3 +54,15 @@ func write_file(path, content):
|
||||||
file.store_string(content)
|
file.store_string(content)
|
||||||
file.close()
|
file.close()
|
||||||
return true
|
return true
|
||||||
|
|
||||||
|
func parse_args():
|
||||||
|
var arguments = {}
|
||||||
|
for argument in OS.get_cmdline_args():
|
||||||
|
if argument.substr(0, 2) == "--":
|
||||||
|
# Parse valid command-line arguments into a dictionary
|
||||||
|
if argument.find("=") > -1:
|
||||||
|
var key_value = argument.split("=")
|
||||||
|
arguments[key_value[0].lstrip("--")] = key_value[1]
|
||||||
|
else:
|
||||||
|
arguments[argument.lstrip("--")] = true
|
||||||
|
return arguments
|
||||||
|
|
12
main.gd
12
main.gd
|
@ -18,6 +18,14 @@ onready var level_description = $Columns/RightSide/TopStuff/LevelPanel/Text/Leve
|
||||||
onready var level_congrats = $Columns/RightSide/TopStuff/LevelPanel/Text/LevelCongrats
|
onready var level_congrats = $Columns/RightSide/TopStuff/LevelPanel/Text/LevelCongrats
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
var args = helpers.parse_args()
|
||||||
|
|
||||||
|
if args.has("sandbox"):
|
||||||
|
var err = get_tree().change_scene("res://sandbox.tscn")
|
||||||
|
if err != OK:
|
||||||
|
helpers.crash("Could not change to sandbox scene")
|
||||||
|
return
|
||||||
|
|
||||||
# Initialize level select.
|
# Initialize level select.
|
||||||
level_select.connect("item_selected", self, "load_level")
|
level_select.connect("item_selected", self, "load_level")
|
||||||
repopulate_levels()
|
repopulate_levels()
|
||||||
|
@ -200,5 +208,5 @@ func repopulate_levels():
|
||||||
|
|
||||||
func repopulate_chapters():
|
func repopulate_chapters():
|
||||||
chapter_select.clear()
|
chapter_select.clear()
|
||||||
for chapter in list_chapters():
|
for c in list_chapters():
|
||||||
chapter_select.add_item(chapter)
|
chapter_select.add_item(c)
|
||||||
|
|
|
@ -20,7 +20,6 @@ corner_radius_bottom_left = 5
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
[node name="Arrows" type="Node2D" parent="."]
|
[node name="Arrows" type="Node2D" parent="."]
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="Rect" type="ColorRect" parent="."]
|
[node name="Rect" type="ColorRect" parent="."]
|
||||||
margin_left = -29.0
|
margin_left = -29.0
|
||||||
|
|
|
@ -99,10 +99,10 @@ __meta__ = {
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="Path" type="LineEdit" parent="Rows/RepoVis"]
|
[node name="Path" type="LineEdit" parent="Rows/RepoVis"]
|
||||||
margin_left = 23.3361
|
margin_left = 23.0
|
||||||
margin_top = 12.3197
|
margin_top = 12.0
|
||||||
margin_right = 574.336
|
margin_right = 374.0
|
||||||
margin_bottom = 61.3197
|
margin_bottom = 61.0
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
13
sandbox.gd
13
sandbox.gd
|
@ -1,7 +1,16 @@
|
||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
var pwd = "/tmp/active/" # OS.get_environment("PWD")
|
var args = helpers.parse_args()
|
||||||
$HSplitContainer/Repository.path = pwd
|
var path = game.tmp_prefix_inside
|
||||||
|
if args.has("sandbox"):
|
||||||
|
if args["sandbox"] is String:
|
||||||
|
var dir = Directory.new()
|
||||||
|
if dir.dir_exists(args["sandbox"]):
|
||||||
|
path = args["sandbox"]
|
||||||
|
else:
|
||||||
|
helpers.crash("Directory %s does not exist" % args["sandbox"])
|
||||||
|
|
||||||
|
$HSplitContainer/Repository.path = path
|
||||||
|
|
||||||
get_tree().set_screen_stretch(SceneTree.STRETCH_MODE_2D, SceneTree.STRETCH_ASPECT_KEEP, Vector2(1920, 1080), 1.5)
|
get_tree().set_screen_stretch(SceneTree.STRETCH_MODE_2D, SceneTree.STRETCH_ASPECT_KEEP, Vector2(1920, 1080), 1.5)
|
||||||
|
|
Loading…
Reference in a new issue