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 aimcast: RayCast3D

var _excluded_rid: Array[RID] = []

@onready
var _gold_material: StandardMaterial3D = load("res://assets/textures/Metal007_1K-PNG/Metal007.tres")


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


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


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


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