forked from team-sg/hero-mark-2
38 lines
982 B
GDScript
38 lines
982 B
GDScript
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()
|