taqin/src/Main.gd

30 lines
946 B
GDScript

extends Control
export var blur: int = 3
export var blur_transition_duration: float = 1
var blur_amount: float = 0
var blur_step: float = 0
func _ready():
$ColorRect.visible = false
blur_amount = 0
blur_step = blur / blur_transition_duration
print("Starting state: ", $GameState.current_state_name())
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_GameState_state_changed(previous, current):
print("GameState: ", $GameState.State.keys()[previous], " -> ", $GameState.State.keys()[current])
match current:
GameState.State.WINNING:
print("Solved!")
# TODO: wait for the animation to finish before game over
#$GameState.transition_to(GameState.State.GAME_OVER)
GameState.State.GAME_OVER:
$ColorRect.visible = true
$ColorRect.material.set_shader_param("blur_amount", blur_amount)