extends "res://objects/enemy/enemy_move_sidesideupdown.gd" export var laser_rate = 1.0 export var laser_time = 0.5 onready var line = $Laser onready var cast = $RayCast2D onready var timer = $Timer onready var sparks = $SparkParticles func _ready(): _disable_laser() func _physics_process(delta): if cast.is_colliding(): line.points[1].y = line.to_local(cast.get_collision_point()).y line.visible = true sparks.global_position.y = cast.get_collision_point().y sparks.emitting = true var collider = cast.get_collider() if collider.is_in_group("player"): collider.get_parent().die() else: line.visible = false sparks.emitting = false func _enable_laser(): cast.enabled = true timer.wait_time = laser_time timer.connect("timeout", self, "_disable_laser", [], CONNECT_ONESHOT) timer.start() func _disable_laser(): cast.enabled = false timer.wait_time = laser_rate timer.connect("timeout", self, "_enable_laser", [], CONNECT_ONESHOT) timer.start()