@abstract
class_name CameraToolBasic
extends Node

## =========================
## Participation Flags
## =========================
@export var enabled: bool = true

@export var affect_position: bool = false
@export var affect_offset: bool = false
@export var affect_zoom: bool = false

## =========================
## Interfaces（子类选择性实现）
## =========================
func get_base_position() -> Vector2:
	return Vector2.ZERO

func has_base_position() -> bool:
	return false

func get_camera_offset() -> Vector2:
	return Vector2.ZERO

func has_camera_offset() -> bool:
	return false

func get_camera_zoom() ->Vector2:
	return Vector2.ONE

func has_camera_zoom() -> bool:
	return false
