@abstract
class_name BossAttack
extends Node

@export var attack_name : String
@export var attack_cooldown = 4.0
signal attack_prepared
signal attack_performed

var boss_behavior : BossBehavior

func start_prepare():
	pass

func prepare(_delta : float):
	pass

func end_prepare():
	pass

func start_perform():
	pass

func perform(_delta : float):
	pass

func end_perform():
	pass

func emit_attack_prepared():
	attack_prepared.emit()

func emit_attack_performed():
	attack_performed.emit()
