- Introduced MapData, MapGenerator, and MapPainter classes for procedural map generation. - Implemented LevelManager to handle level initialization and navigation. - Created TurnManager for managing turn order in a turn-based system. - Added Player and Enemy character classes with movement and turn-taking capabilities. - Established pathfinding using AStar2D in PathfindingHandler. - Integrated new scenes for player and enemy characters, along with world setup. - Included a new tileset for futuristic Zelda-themed assets.
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
|