class_name Club extends Resource
## Base type for gfolf clubs

enum Type {
	NONE,
	DRIVER,
	IRON,
	WEDGE,
	PUTTER,
	SPECIAL,
}

@export var name: String
@export var type: Club.Type
@export var _model: PackedScene

@export_range(-360, 360, 0.001, "radians") var angle := 0.0
@export var power := 1.0

## Global typesafe accessor for club catalog
static var catalog: ClubCatalogType:
	get:
		return ClubCatalog


func get_model() -> Node3D:
	return _model.instantiate() as Node3D if _model else null
