25 lines
803 B
GDScript
25 lines
803 B
GDScript
## MapSettings.gd
|
||||
|
|
# Resource for storing all configurable map generation settings.
|
|||
|
|
# Used by MapGenerator to control map size, room count, and room properties.
|
|||
|
|
class_name MapSettings
|
|||
|
|
extends Resource
|
|||
|
|
|
|||
|
|
# Level size in tiles (width × height).
|
|||
|
|
@export var width: int = 50
|
|||
|
|
@export var height: int = 50
|
|||
|
|
# Minimum and maximum number of rooms to generate.
|
|||
|
|
@export var min_room_count: int = 5
|
|||
|
|
@export var max_room_count: int = 15
|
|||
|
|
|
|||
|
|
# Room size constraints (in tiles).
|
|||
|
|
@export var min_room_size: int = 4
|
|||
|
|
@export var max_room_size: int = 10
|
|||
|
|
# Minimum number of tiles between rooms (prevents overlap).
|
|||
|
|
@export var room_padding:int = 5
|
|||
|
|
|
|||
|
|
# Maximum number of attempts to place a room before giving up.
|
|||
|
|
@export var max_tries: int = 20
|
|||
|
|
|
|||
|
|
# The actual number of rooms generated (set by MapGenerator).
|
|||
|
|
var room_count: int
|