project-dung/scripts/coin_machine.gd

21 lines
446 B
GDScript

extends Area
export var coins_required : int = 1
export var enabled: bool = true
signal coin_requirement_met(player)
func _ready():
assert(coins_required >= 0)
set_meta("owner", self)
func on_player_interact(player) -> bool:
assert(player.has_method("modify_inventory"))
if not enabled:
return false
if not player.modify_inventory("coins", -coins_required):
return false
emit_signal("coin_requirement_met", player)
return true