* ajout du panneau solaire #54 * ajout d'un tutoriel #53 * equilibrage du jeu #73 * ajout d'un son pour l'annonce
42 lines
958 B
GDScript
42 lines
958 B
GDScript
extends Machine
|
|
class_name Compost
|
|
|
|
var containing_seed : int = 0
|
|
|
|
func get_seed_needed(l : int = level) -> int:
|
|
match l:
|
|
1: return 5
|
|
2: return 4
|
|
3: return 3
|
|
_: return 2
|
|
|
|
func setup_machine_sprite():
|
|
%Sprite.self_modulate = Machine.get_level_color(level)
|
|
|
|
func _process(_delta):
|
|
%ProgressBar.value = lerp(%ProgressBar.value, float(containing_seed) / float(get_seed_needed()) * 100, 0.5)
|
|
|
|
func interact_text():
|
|
return "Put a seed ("+str(get_seed_needed() - containing_seed)+" left)"
|
|
|
|
func can_interact(p : Player) -> bool:
|
|
return p.inventory.get_item() and p.inventory.get_item() is Seed
|
|
|
|
func interact(p : Player) -> bool:
|
|
if not can_interact(p):
|
|
return false
|
|
|
|
p.play_sfx("harvest")
|
|
p.inventory.remove_current_item()
|
|
containing_seed += 1
|
|
if containing_seed >= get_seed_needed():
|
|
$AnimationPlayer.play("empty")
|
|
containing_seed = 0
|
|
product(p)
|
|
else:
|
|
$AnimationPlayer.play("fill")
|
|
return true
|
|
|
|
func product(player : Player):
|
|
pass
|