class_name Weapon extends Node

enum Type {
  MELEE,
  PROJECTILE,
  AOF, # area of effect
  RAY,
}

var effects : Callable
var durationInMilliseconds : int
var area: Area2D

func onBodyEntered ():
	print('onBodyEntered')

func onTimeEnd ():
	print('onTimeEnd')


func _ready() -> void:
	var children = self.get_children()
	for i in children.size():
		if (children[i] is Area2D):
			area = children[i]
	area.connect('body_entered',  onBodyEntered)


func _process(delta: float) -> void:
	set_process(true)
	

func _physics_process(delta: float) -> void:
	if (durationInMilliseconds > 0):
		durationInMilliseconds -= delta * 1000
	if durationInMilliseconds <= 0:
		durationInMilliseconds = 0  # Ensure duration doesn't go negative
		set_process(false)
	
