class_name Weapon
extends Node3D

@export var excluded: Array[CollisionObject3D] = []:
	set(value):
		excluded = value
		_excluded_rid.assign(excluded.map(func(o: CollisionObject3D) -> RID: return o.get_rid()))
	get:
		return excluded

var _excluded_rid: Array[RID] = []

var aimcast: RayCast3D


func trigger() -> void:
	pass  # Implemented in derived type


func release() -> void:
	pass  # Implemented in derived type


func deactivate() -> void:
	pass  # Implemented in derived type
