Files
stefwill bb1c9f9284 feat: Add core map generation and management system
- 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.
2026-03-16 16:24:32 +11:00

25 lines
803 B
GDScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 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