aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--godot/scenes/Die.gd28
-rw-r--r--godot/scenes/Game.gd38
-rw-r--r--godot/scripts/GoalTriggerBox.gd2
3 files changed, 30 insertions, 38 deletions
diff --git a/godot/scenes/Die.gd b/godot/scenes/Die.gd
index 62d1d99..93d3bfa 100644
--- a/godot/scenes/Die.gd
+++ b/godot/scenes/Die.gd
@@ -28,11 +28,13 @@ func _ready():
_game = get_node("/root/Game")
mat = get_physics_material_override()
previous_bounciness = mat.get_bounce()
-
- ball()
func _input(event):
+ if _game.is_post_game():
+ _game.next_level()
+ return
+
if event is InputEventKey:
if event.scancode == KEY_TAB:
if event.is_pressed():
@@ -91,27 +93,7 @@ BUFFS
"""
func get_upwards_side():
- var forward = -global_transform.basis.z
-
- var up = forward.angle_to(Vector3.UP)
- var down = forward.angle_to(Vector3.DOWN)
- var left = forward.angle_to(Vector3.LEFT)
- var right = forward.angle_to(Vector3.RIGHT)
- var forw = forward.angle_to(Vector3.FORWARD)
- var back = forward.angle_to(Vector3.BACK)
-
- # 0 = ball, 1 = phase, 2 = bounce
- var dictionary = {
- up: 0,
- down: 1,
- left: 2,
- right: 0,
- forw: 1,
- back: 2
- }
-
- var smallest = dictionary.keys().min()
- return dictionary[smallest]
+ return 0
func extra_stroke():
diff --git a/godot/scenes/Game.gd b/godot/scenes/Game.gd
index 56acb04..f24219e 100644
--- a/godot/scenes/Game.gd
+++ b/godot/scenes/Game.gd
@@ -6,6 +6,7 @@ const PAR = [1,2,3,4,5,6,7,8,9]
# level control
var current_level_id = 0
var levels = []
+var post_game = false
# stroke control
var current_strokes = 0
@@ -39,25 +40,14 @@ func _on_ResumeButton_pressed():
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
-func load_next_level():
- levels[current_level_id].hide()
- current_level_id = current_level_id + 1
-
+func end_level():
# save current strokes and reset
strokes_per_level[current_level_id] = current_strokes
current_strokes = 0
- if current_level_id >= NUM_LEVELS:
- # TODO load main menu
- return
-
- # load next level
- levels[current_level_id].show()
+ post_game = true
- $Scoreboard.update_values(strokes_per_level, PAR)
- $Scoreboard.show()
-
- # TODO teleport player back
+ open_scoreboard()
func add_stroke():
@@ -75,3 +65,23 @@ func open_scoreboard():
func close_scoreboard():
$Scoreboard.hide()
+
+
+func is_post_game():
+ return post_game
+
+
+func next_level():
+ post_game = false
+
+ levels[current_level_id].hide()
+ current_level_id = current_level_id + 1
+
+ if current_level_id >= NUM_LEVELS:
+ # TODO load main menu
+ return
+
+ # load next level
+ levels[current_level_id].show()
+
+ close_scoreboard()
diff --git a/godot/scripts/GoalTriggerBox.gd b/godot/scripts/GoalTriggerBox.gd
index 42345d8..6e1034b 100644
--- a/godot/scripts/GoalTriggerBox.gd
+++ b/godot/scripts/GoalTriggerBox.gd
@@ -18,5 +18,5 @@ func _on_Area2_body_entered(body: RigidBody):
if body == null:
return
- loader.load_next_level()
+ loader.end_level()