class_name IntRange extends RefCounted var min: int var max: int func _init(start: int, end: int, inclusive: bool = false) -> void: min = start max = end if not inclusive else end + 1 func length() -> int: return absi(max - min) func clamp(value: int) -> int: return clampi(value, min, max) func wrap(value: int) -> int: return wrapi(value, min, max) func contains(value: int) -> bool: return value >= min and value < max