revo-jailbreak/objects/enemy/laser_wall.gd
2023-03-25 00:16:30 -04:00

38 lines
968 B
GDScript

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"):
collider.get_parent().die()
else:
line.visible = false
sparks.emitting = false
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()