 273ca490c0
			
		
	
	273ca490c0
	
	
	
		
			
			Un timer redéclenche l'apparition du fromage au bout d'un certain temps. Il suffit de paramètrer la variable CHEESE_RESPAWN_TIME pour que ça soit customisable à l'envie.
		
			
				
	
	
		
			26 lines
		
	
	
		
			788 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			788 B
		
	
	
	
		
			GDScript
		
	
	
	
	
	
| class_name NormalCheese extends Area2D
 | |
| 
 | |
| 
 | |
| @onready var animation_player := $AnimationPlayer as AnimationPlayer
 | |
| @onready var timer := $Timer as Timer
 | |
| @export var CHEESE_RESPAWN_TIME : int = 1
 | |
| var picked :bool = false
 | |
| 
 | |
| func _on_body_entered(body: Node2D) -> void:
 | |
|     if not picked:
 | |
|         animation_player.play(&"picked")
 | |
|         (body as Princess).cheese_collected.emit()
 | |
|         picked = true
 | |
|         # Le fromage peut être à utilisation unique
 | |
|         if CHEESE_RESPAWN_TIME > 0:
 | |
|             timer.start(CHEESE_RESPAWN_TIME)
 | |
| 
 | |
| func _on_timer_timeout() -> void:
 | |
|     timer.stop()
 | |
|     animation_player.play(&"RESET")
 | |
| 
 | |
| func _on_animation_player_animation_finished(anim_name: StringName) -> void:
 | |
|     if anim_name == "RESET":
 | |
|         animation_player.play(&"cheese")
 | |
|         picked = false
 |