Browse Source

fix minigame reset

Arnaud Vergnet 3 years ago
parent
commit
9059eddb1e

+ 4
- 2
mini-game/MiniGame.gd View File

32
 	else:
32
 	else:
33
 		game_difficulty = "easy"
33
 		game_difficulty = "easy"
34
 	game_version = version
34
 	game_version = version
35
-	print("minigame: " + mode + " " + next_lose + " " + next_win)
35
+	print("setup minigame: " + mode + " " + next_lose + " " + next_win)
36
 	set_mode(mode)
36
 	set_mode(mode)
37
 	scoreUI.init(mode, game_goal)
37
 	scoreUI.init(mode, game_goal)
38
 	next_timeline_lose = next_lose
38
 	next_timeline_lose = next_lose
76
 	foreground.stop()
76
 	foreground.stop()
77
 	player.stop()
77
 	player.stop()
78
 	spawner.stop()
78
 	spawner.stop()
79
-	
79
+	scoreUI.stop()
80
+
80
 
81
 
81
 func on_win():
82
 func on_win():
82
 	stop()
83
 	stop()
83
 	emit_signal("game_over", next_timeline_win)
84
 	emit_signal("game_over", next_timeline_win)
84
 
85
 
86
+
85
 func on_game_over():
87
 func on_game_over():
86
 	stop()
88
 	stop()
87
 	emit_signal("game_over", next_timeline_lose)
89
 	emit_signal("game_over", next_timeline_lose)

+ 21
- 12
mini-game/scenes/decor/scoreUI.gd View File

1
 extends Control
1
 extends Control
2
 
2
 
3
 onready var label : Label = $MarginContainer/Label
3
 onready var label : Label = $MarginContainer/Label
4
+onready var timer = $Timer
4
 
5
 
5
 var game_mode
6
 var game_mode
6
 var max_time = 30
7
 var max_time = 30
8
+var current_time = 0
7
 
9
 
8
 func _ready():
10
 func _ready():
9
 	Signals.connect("update_score",self,"update_score")
11
 	Signals.connect("update_score",self,"update_score")
10
-	
11
-	
12
+
12
 
13
 
13
 func update_score(score: int):
14
 func update_score(score: int):
14
 	label.text = String(score)
15
 	label.text = String(score)
15
 
16
 
17
+
16
 func start(mode: String):
18
 func start(mode: String):
17
-	
18
 	match mode:
19
 	match mode:
19
 		"score":
20
 		"score":
20
 			update_score(0)
21
 			update_score(0)
22
 		"time":
23
 		"time":
23
 			update_score(max_time)
24
 			update_score(max_time)
24
 			show()
25
 			show()
25
-			var t = Timer.new() 
26
-			t.set_wait_time(1) 
27
-			add_child(t)
28
-			t.start()
29
-			for n in range(max_time,0,-1):
30
-				update_score(n)
31
-				yield(t,"timeout")
32
-			update_score(0)
33
-			Signals.emit_signal("win")
26
+			current_time = 0
27
+			timer.start()
34
 		_:
28
 		_:
35
 			print("game_mode not recognized by scoreUI")
29
 			print("game_mode not recognized by scoreUI")
36
 
30
 
44
 		max_time = goal
38
 		max_time = goal
45
 	hide()
39
 	hide()
46
 
40
 
41
+
42
+func stop():
43
+	timer.stop()
44
+
45
+
46
+func _on_Timer_timeout() -> void:
47
+	current_time += 1
48
+	var n = max_time - current_time
49
+	if n < 0:
50
+		n = 0
51
+	update_score(n)
52
+	if n == 0:
53
+		Signals.emit_signal("win")
54
+		timer.stop()
55
+		

+ 4
- 0
mini-game/scenes/decor/scoreUI.tscn View File

39
 __meta__ = {
39
 __meta__ = {
40
 "_edit_use_anchors_": false
40
 "_edit_use_anchors_": false
41
 }
41
 }
42
+
43
+[node name="Timer" type="Timer" parent="."]
44
+
45
+[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

+ 5
- 4
mini-game/scenes/players/player2.tscn View File

24
 
24
 
25
 [sub_resource type="SpriteFrames" id=1]
25
 [sub_resource type="SpriteFrames" id=1]
26
 animations = [ {
26
 animations = [ {
27
-"frames": [ ExtResource( 7 ), ExtResource( 10 ), ExtResource( 9 ), ExtResource( 4 ), ExtResource( 8 ), ExtResource( 2 ), ExtResource( 3 ), ExtResource( 1 ) ],
27
+"frames": [ ExtResource( 12 ), ExtResource( 11 ), ExtResource( 5 ) ],
28
 "loop": true,
28
 "loop": true,
29
-"name": "run",
29
+"name": "jump",
30
 "speed": 5.0
30
 "speed": 5.0
31
 }, {
31
 }, {
32
-"frames": [ ExtResource( 12 ), ExtResource( 11 ), ExtResource( 5 ) ],
32
+"frames": [ ExtResource( 7 ), ExtResource( 10 ), ExtResource( 9 ), ExtResource( 4 ), ExtResource( 8 ), ExtResource( 2 ), ExtResource( 3 ), ExtResource( 1 ) ],
33
 "loop": true,
33
 "loop": true,
34
-"name": "jump",
34
+"name": "run",
35
 "speed": 5.0
35
 "speed": 5.0
36
 }, {
36
 }, {
37
 "frames": [ ExtResource( 18 ), ExtResource( 15 ), ExtResource( 14 ), ExtResource( 19 ), ExtResource( 20 ), ExtResource( 21 ), ExtResource( 13 ), ExtResource( 17 ) ],
37
 "frames": [ ExtResource( 18 ), ExtResource( 15 ), ExtResource( 14 ), ExtResource( 19 ), ExtResource( 20 ), ExtResource( 21 ), ExtResource( 13 ), ExtResource( 17 ) ],
73
 position = Vector2( -0.0400658, 9.23466 )
73
 position = Vector2( -0.0400658, 9.23466 )
74
 scale = Vector2( 0.609429, 0.281311 )
74
 scale = Vector2( 0.609429, 0.281311 )
75
 shape = SubResource( 3 )
75
 shape = SubResource( 3 )
76
+
76
 [connection signal="body_entered" from="Area2D" to="." method="_on_Area2D_body_entered"]
77
 [connection signal="body_entered" from="Area2D" to="." method="_on_Area2D_body_entered"]
77
 [connection signal="body_exited" from="Area2D" to="." method="_on_Area2D_body_exited"]
78
 [connection signal="body_exited" from="Area2D" to="." method="_on_Area2D_body_exited"]

+ 2
- 3
mini-game/scripts/bonus1.gd View File

4
 onready var notifier = $notifier
4
 onready var notifier = $notifier
5
 
5
 
6
 func _ready():
6
 func _ready():
7
-	get_node("notifier").connect("screen_exited", self, "_on_screen_exited")
7
+	notifier.connect("screen_exited", self, "_on_screen_exited")
8
 
8
 
9
 func _on_screen_exited():
9
 func _on_screen_exited():
10
-	print("Bonus exited the screen")
11
 	queue_free()
10
 	queue_free()
12
 
11
 
12
+
13
 func _physics_process(delta):
13
 func _physics_process(delta):
14
 	move()
14
 	move()
15
-	
16
 
15
 
17
 
16
 
18
 func _on_pick_bonus_body_entered(body):
17
 func _on_pick_bonus_body_entered(body):

+ 3
- 4
mini-game/scripts/player2.gd View File

74
 	match game_mode:
74
 	match game_mode:
75
 		"score":
75
 		"score":
76
 			score+=scoretoadd
76
 			score+=scoretoadd
77
-			Signals.emit_signal("update_score",score)
77
+			Signals.emit_signal("update_score", score)
78
 			if score >= score_goal:
78
 			if score >= score_goal:
79
 				Signals.emit_signal("win")
79
 				Signals.emit_signal("win")
80
 		"time":
80
 		"time":
81
 			pass
81
 			pass
82
 		_:
82
 		_:
83
 			print("game_mode not recognized by player2 start func")
83
 			print("game_mode not recognized by player2 start func")
84
-		
85
-	
86
-	
84
+
87
 
85
 
88
 func player_win():
86
 func player_win():
89
 	stop()
87
 	stop()
90
 
88
 
89
+
91
 func player_die():
90
 func player_die():
92
 	stop()
91
 	stop()
93
 
92
 

+ 10
- 7
mini-game/scripts/spawner.gd View File

11
 var random_threshold = 50
11
 var random_threshold = 50
12
 var scenes_offset = 0
12
 var scenes_offset = 0
13
 
13
 
14
+onready var timer := $Timer
15
+onready var items := $items
16
+
14
 func _ready():
17
 func _ready():
15
 	Signals.connect("die",self,"game_over")
18
 	Signals.connect("die",self,"game_over")
16
 	Signals.connect("win",self,"game_over")
19
 	Signals.connect("win",self,"game_over")
25
 		else:
28
 		else:
26
 			scene_index = 0
29
 			scene_index = 0
27
 		var tmp = scenes[scene_index+scenes_offset*2].instance()
30
 		var tmp = scenes[scene_index+scenes_offset*2].instance()
28
-		$items.add_child(tmp)
31
+		items.add_child(tmp)
29
 		last_object = tmp
32
 		last_object = tmp
30
-		if(self.get_node("Timer").wait_time <= 1):
31
-			self.get_node("Timer").wait_time = 1
33
+		if(timer.wait_time <= 1):
34
+			timer.wait_time = 1
32
 		else:
35
 		else:
33
-			self.get_node("Timer").wait_time *= timer_speed
34
-		self.get_node("Timer").start()
36
+			timer.wait_time *= timer_speed
37
+		timer.start()
35
 
38
 
36
 
39
 
37
 func game_over():
40
 func game_over():
38
-	self.get_node("Timer").set_paused(true)
41
+	timer.set_paused(true)
39
 	#last_object.queue_free()
42
 	#last_object.queue_free()
40
 
43
 
41
 
44
 
51
 			pass
54
 			pass
52
 	scenes_offset = version
55
 	scenes_offset = version
53
 	spawner_enabled = true
56
 	spawner_enabled = true
54
-	self.get_node("Timer").set_paused(false)
57
+	timer.set_paused(false)
55
 
58
 
56
 
59
 
57
 func stop():
60
 func stop():

+ 2
- 1
scenes/Main.gd View File

10
 
10
 
11
 func _ready():
11
 func _ready():
12
 	dialogic_node = Dialogic.start_from_save('00_start')
12
 	dialogic_node = Dialogic.start_from_save('00_start')
13
-	add_child_below_node(mini_game, dialogic_node)
14
 	dialogic_node.connect('dialogic_signal', self, "_on_Dialogic_signal_received")
13
 	dialogic_node.connect('dialogic_signal', self, "_on_Dialogic_signal_received")
14
+	add_child_below_node(mini_game, dialogic_node)
15
 	play_music()
15
 	play_music()
16
 
16
 
17
 
17
 
57
 
57
 
58
 
58
 
59
 func _on_MiniGame_game_over(next_timeline: String):
59
 func _on_MiniGame_game_over(next_timeline: String):
60
+	print("game over received: " + next_timeline)
60
 	dialogic_node = Dialogic.start(next_timeline, false)
61
 	dialogic_node = Dialogic.start(next_timeline, false)
61
 	dialogic_node.connect('dialogic_signal', self, "_on_Dialogic_signal_received")
62
 	dialogic_node.connect('dialogic_signal', self, "_on_Dialogic_signal_received")
62
 	add_child_below_node(mini_game, dialogic_node)
63
 	add_child_below_node(mini_game, dialogic_node)

Loading…
Cancel
Save