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