40 lines
879 B
GDScript
40 lines
879 B
GDScript
extends Node3D
|
|
|
|
@export var client : PackedScene
|
|
@export var entry_path: Array[Marker3D]
|
|
@export var exit_path: Array[Marker3D]
|
|
|
|
@onready var sprite_3d: Sprite3D = $Sprite3D
|
|
@onready var timer: Timer = $Timer
|
|
@onready var water_mill: MultiMeshInstance3D = $".."
|
|
|
|
@onready var player: CharacterBody3D = $"../../Player"
|
|
@onready var frog: CharacterBody3D = $"../../frog"
|
|
|
|
var x_seconds: float = 15:
|
|
set(value):
|
|
x_seconds = value
|
|
timer.wait_time = value
|
|
|
|
|
|
func _ready() -> void:
|
|
sprite_3d.visible = false
|
|
|
|
func _on_timer_timeout() -> void:
|
|
var new_client = client.instantiate()
|
|
new_client.player = player
|
|
water_mill.add_child(new_client)
|
|
|
|
new_client.global_position = global_position
|
|
|
|
new_client.entry_path = entry_path
|
|
new_client.exit_path = exit_path
|
|
|
|
player._start_action()
|
|
|
|
if !player.one_time_cpt_feather:
|
|
timer.stop()
|
|
|
|
func start_timer():
|
|
timer.start()
|