shirogamis-maze/src/Main/ResultsScreen.gd
2021-05-27 01:44:39 -04:00

80 lines
2.4 KiB
GDScript

extends Control
var time_bonus = 50000
var secret_bonus = 0
var final_score = 0
var time = 0
var label_number = 0
onready var main_label = $Center/Results/Label
onready var score_label = $Center/Results/Score
func _ready():
set_process(false)
$MonoBackground/Back.color = Color(randf(),randf(),randf())
time = global.hud.seconds + global.hud.minutes*60
if global.secrets_found == 0:
secret_bonus = 0
elif global.secrets_found > 0 and global.secrets_found <= 6:
secret_bonus = pow(22,global.secrets_found)
else:
secret_bonus = 113379904 + pow(11,global.secrets_found)
match global.current_level:
0:
if time <= 60:
time_bonus = 99999999900
elif time <= 70:
time_bonus = 7500000000
elif time <= 80:
time_bonus = 250000000
elif time <= 90: #Doable by exploiting quirks in the design (Sandro, 01:24)
time_bonus = 50000000
elif time <= 100: #My record (01:35)
time_bonus = 1000000
elif time <= 120:
time_bonus = 50000
else:
time_bonus = 100
final_score = (time_bonus + secret_bonus)
$Timer.start()
func _process(delta):
if Input.is_action_just_pressed("shoot") or Input.is_action_just_pressed("special") :
if label_number != -1:
$MonoBackground/Back.color = Color(randf(),randf(),randf())
show_results()
else:
set_process(false)
#global.score += final_score
global.reset_everything()
global.game_root.change_scene("res://src/Main/MainMenu.tscn",true,"fade_out",global.STATE.CUTSCENE)
func _on_Timer_timeout():
if label_number != -1:
$MonoBackground/Back.color = Color(randf(),randf(),randf())
match label_number:
0:
set_process(true)
$AudioStreamPlayer.play()
score_label.visible = true
score_label.text = str(time_bonus)+"\n("+("%02d" % global.hud.minutes) + ":" +("%02d" % global.hud.seconds)+ ")"
main_label.text = "Time bonus"
label_number += 1
1:
$AudioStreamPlayer.play()
score_label.text = str(secret_bonus)
main_label.text = str(global.secrets_found)+" secret"+ ("s" if global.secrets_found > 1 else "") + " found" if global.secrets_found > 0 else "No secrets found"
label_number += 1
2:
show_results()
func _on_BlinkTimer_timeout():
$PressShoot.visible = !$PressShoot.visible
func show_results():
$AudioStreamPlayer.play()
label_number = -1
main_label.text = "Final score"
score_label.text = str(global.score + final_score)+"\n("+("%02d" % global.hud.minutes) + ":" +("%02d" % global.hud.seconds)+ ")"
$BlinkTimer.start()