extends "res://objects/enemy/enemy_move_sidesideupdown.gd" export var off_time = 1.0 export var on_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 = cast.get_collision_point() sparks.emitting = true var collider = cast.get_collider() if collider.is_in_group("player") or collider.is_in_group("msx"): collider.get_parent().die() else: line.visible = false sparks.emitting = false func switch_action(): Console.print("Disable laser") cast.enabled = false off_time = INF on_time = 0 func _enable_laser(): cast.enabled = true timer.wait_time = on_time timer.connect("timeout", self, "_disable_laser", [], CONNECT_ONESHOT) timer.start() func _disable_laser(): cast.enabled = false timer.wait_time = off_time timer.connect("timeout", self, "_enable_laser", [], CONNECT_ONESHOT) timer.start()