extends Machine class_name SolarPanel var charged : bool = false 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, with_anim : bool = true): charged = _charged recharge_days = 0 if with_anim: if charged: %AnimationPlayer.play("charged") else : %AnimationPlayer.play_backwards("charged") await %AnimationPlayer.animation_finished %Flair.modulate = Color.WHITE if charged else Color.TRANSPARENT %Pannels.modulate = Color.WHITE if charged else Color("6c6c6c") 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 func save() -> EntityData: return SolarPanelData.new(self)