mirror of
https://github.com/git-learning-game/oh-my-git.git
synced 2024-11-03 19:04:40 +01:00
49 lines
1.5 KiB
GDScript
49 lines
1.5 KiB
GDScript
extends Node2D
|
|
|
|
var cards = [
|
|
{"command": 'git add .', "arg_number": 0},
|
|
{"command": 'git checkout', "arg_number": 1},
|
|
{"command": 'touch "file$RANDOM"', "arg_number": 0},
|
|
{"command": 'git commit --allow-empty -m "$RANDOM"', "arg_number": 0},
|
|
{"command": 'git checkout -b "$RANDOM"', "arg_number": 0},
|
|
{"command": 'git merge', "arg_number": 1},
|
|
{"command": 'git symbolic-ref HEAD', "arg_number": 1},
|
|
{"command": 'git update-ref -d', "arg_number": 1},
|
|
{"command": 'git reflog expire --expire=now --all; git prune', "arg_number": 0},
|
|
{"command": 'git rebase', "arg_number": 1}
|
|
]
|
|
|
|
func _ready():
|
|
|
|
var path = game.tmp_prefix_inside+"/repos/sandbox/"
|
|
helpers.careful_delete(path)
|
|
|
|
game.global_shell.run("mkdir " + path)
|
|
game.global_shell.cd(path)
|
|
game.global_shell.run("git init")
|
|
game.global_shell.run("git symbolic-ref HEAD refs/heads/main")
|
|
game.global_shell.run("git commit --allow-empty -m 'Initial commit'")
|
|
|
|
$Repository.path = path
|
|
|
|
$Terminal.repository = $Repository
|
|
|
|
redraw_all_cards()
|
|
|
|
func _update_repo():
|
|
$Repository.update_everything()
|
|
|
|
func draw_rand_card():
|
|
var new_card = preload("res://card.tscn").instance()
|
|
var card = cards[randi() % cards.size()]
|
|
new_card.command = card.command
|
|
new_card.arg_number = card.arg_number
|
|
new_card.position = Vector2(rand_range(200, get_viewport().size.x - 200), get_viewport().size.y*3/4 + rand_range(-200,200))
|
|
add_child(new_card)
|
|
|
|
func redraw_all_cards():
|
|
for card in get_tree().get_nodes_in_group("cards"):
|
|
card.queue_free()
|
|
for i in range(10):
|
|
draw_rand_card()
|
|
|