ld58-collector/numpad.gd

41 lines
1.1 KiB
GDScript

class_name Numpad extends Node2D
var numpad_buffer = Array()
var proposed_ask: int
signal ask_proposed
#var turn_manager: TurnManager
var audience_manager: AudienceManager
var game_manager: GameManager
var turn_manager: TurnManager
@export var progress_bar: ProgressBar
@export var reminder_timer: Timer
@export var error_audio_player: AudioStreamPlayer2D
@export var success_audio_player: AudioStreamPlayer2D
func _ready() -> void:
progress_bar.max_value = reminder_timer.wait_time
func _process(delta: float) -> void:
progress_bar.value = reminder_timer.time_left
# number entry function called by numbered button children
func keypad_entry(entry: int):
numpad_buffer.append(str(entry))
func keypad_backspace():
numpad_buffer.remove_at(-1)
func keypad_submit():
var keypad_output: String = "".join(numpad_buffer)
proposed_ask = int(keypad_output) * 1000
if proposed_ask > game_manager.current_bid and audience_manager.bid_pending or proposed_ask == game_manager.current_bid:
success_audio_player.play()
ask_proposed.emit()
else:
error_audio_player.play()
reminder_timer.start(-1)
numpad_buffer.clear()