seeding-planets/entities/interactables/machines/solar_pannel/scripts/solar_pannel.gd
Zacharie Guet ef392595de ajout des mutation et refonte de l'inspecteur
* ajout des mutations #86
* changement de l'objectif #85
* refonte de l'inspecteur #71
* changement léger de la plantation
* les plantes ne donnent que des graines de leurs espèces
* refonte partielle du code, refacto
2025-10-12 01:03:08 +02:00

50 lines
1.0 KiB
GDScript

extends Machine
class_name SolarPanel
var charged : bool = false : set = set_charged
var recharge_days : int = 0
func get_days_to_recharge(l : int = level) -> int:
match l:
1: return 2
2: return 2
3: return 2
_: return 1
func get_energy_production(l : int = level) -> int:
match l:
1: return 1
2: return 2
3: return 3
_: return 1
# Méthode déclenchée par la classe planet
func _pass_day():
if not charged:
recharge_days += 1
if recharge_days >= get_days_to_recharge():
set_charged(true)
func set_charged(_charged = true):
charged = _charged
recharge_days = 0
if charged:
%AnimationPlayer.play("charged")
else :
%AnimationPlayer.play_backwards("charged")
func setup_machine_sprite():
# %Base.self_modulate = Machine.get_level_color(level)
pass
func interact_text():
return "Recharge " + str(get_energy_production()) + " energy"
func can_interact(_p : Player) -> bool:
return charged
func interact(p : Player) -> bool:
p.recharge(get_energy_production())
set_charged(false)
return true