add NewGame panel
This commit is contained in:
parent
41d2d2bd23
commit
81bf9dab8f
8 changed files with 155 additions and 47 deletions
30
src/Main.gd
30
src/Main.gd
|
@ -1,33 +1,23 @@
|
|||
extends Control
|
||||
|
||||
export var blur: int = 3
|
||||
export var blur_transition_duration: float = 1
|
||||
|
||||
var blur_amount: float = 0
|
||||
var blur_step: float = 0
|
||||
|
||||
onready var taquin = $HSplitContainer/Taquin
|
||||
|
||||
func _ready():
|
||||
$ColorRect.visible = false
|
||||
blur_amount = 0
|
||||
blur_step = blur / blur_transition_duration
|
||||
print("Starting state: ", taquin.current_state_name())
|
||||
taquin.connect("state_changed", self, "_on_Taquin_state_changed")
|
||||
|
||||
func _process(delta):
|
||||
if blur_amount < blur:
|
||||
blur_amount += delta * blur_step
|
||||
print("blur: ", blur_amount)
|
||||
$ColorRect.material.set_shader_param("blur_amount", blur_amount)
|
||||
|
||||
func _on_Taquin_state_changed(previous, new):
|
||||
print("Taquin state: ", Taquin.State.keys()[previous], " -> ", Taquin.State.keys()[new])
|
||||
match new:
|
||||
Taquin.State.WINNING:
|
||||
print("Solved!")
|
||||
# TODO: wait for the animation to finish before game over
|
||||
#$GameState.transition_to(GameState.State.GAME_OVER)
|
||||
Taquin.State.GAME_OVER:
|
||||
$ColorRect.visible = true
|
||||
$ColorRect.material.set_shader_param("blur_amount", blur_amount)
|
||||
pass
|
||||
|
||||
func _on_New_game_pressed():
|
||||
$NewGamePanel.popup_centered(OS.window_size * 0.9)
|
||||
|
||||
func _on_NewGamePanel_about_to_show():
|
||||
$HSplitContainer/Taquin.set_process_input(false)
|
||||
|
||||
func _on_NewGamePanel_popup_hide():
|
||||
$HSplitContainer/Taquin.set_process_input(true)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue