52 lines
1.5 KiB
GDScript
52 lines
1.5 KiB
GDScript
extends Node2D
|
|
|
|
# Signals
|
|
signal player_action(action)
|
|
|
|
# Consts
|
|
const TIME_LIMIT = 60.0
|
|
const TimeLeftTooltipFormat = "Shearing in %fm%ds"
|
|
|
|
# Member variables
|
|
#var screen_size
|
|
var time_to_shearing = TIME_LIMIT # Time left in seconds
|
|
var suspicion = 0
|
|
var max_suspicion = 100
|
|
var highest_suspicion = 0
|
|
var suspicion_loss = 1 # per second
|
|
|
|
func _ready():
|
|
get_node("TimeLeftBar").set_max(TIME_LIMIT)
|
|
get_node("TimeLeftBar").set_value(TIME_LIMIT)
|
|
get_node("SuspicionBar").set_max(max_suspicion)
|
|
get_node("SuspicionBar").set_value(suspicion)
|
|
get_node("ToolBar/RamButton").connect("pressed", self, "_on_ram_pressed")
|
|
set_process(true)
|
|
|
|
func _process(delta):
|
|
time_to_shearing -= delta
|
|
var time_left = get_node("TimeLeftBar")
|
|
time_left.set_value(time_to_shearing)
|
|
var time_left_minute = floor(time_to_shearing / 60)
|
|
var time_left_second = time_to_shearing - (time_left_minute * 60)
|
|
var tooltip = TimeLeftTooltipFormat % [time_left_minute, time_left_second]
|
|
time_left.set_tooltip(tooltip)
|
|
|
|
update_suspicion(-delta * suspicion_loss)
|
|
var suspicion_bar = get_node('SuspicionBar')
|
|
suspicion_bar.set_value(suspicion)
|
|
|
|
func _on_ram_pressed():
|
|
emit_signal("player_action", "ram")
|
|
|
|
func update_suspicion(amount):
|
|
suspicion += amount
|
|
if (suspicion > highest_suspicion):
|
|
highest_suspicion = suspicion
|
|
if suspicion < 0:
|
|
suspicion = 0
|
|
if (suspicion > max_suspicion):
|
|
print("argh")
|
|
get_node("PostGameMessage/Label").set_text("Oh no!\n You were too suspicious and the farmer came for you :o")
|
|
get_node("PostGameMessage").show()
|
|
set_process(false) |