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.
This commit is contained in:
2026-03-16 16:24:32 +11:00
parent f5e33fb8ea
commit bb1c9f9284
39 changed files with 2341 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
[gd_scene format=3 uid="uid://hwbs3q16spqx"]
[ext_resource type="Script" uid="uid://dh5hx2lospkug" path="res://scripts/actors/character.gd" id="1_4i4j6"]
[ext_resource type="Texture2D" uid="uid://b7s06o6gm42rn" path="res://assets/sprites/icon.svg" id="2_qkj82"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_35asm"]
size = Vector2(32, 32)
[node name="Enemy" type="CharacterBody2D" unique_id=1059490557]
script = ExtResource("1_4i4j6")
metadata/_custom_type_script = "uid://dh5hx2lospkug"
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=569576189]
self_modulate = Color(1, 0, 0, 1)
scale = Vector2(0.25, 0.25)
texture = ExtResource("2_qkj82")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=328269646]
shape = SubResource("RectangleShape2D_35asm")
+22
View File
@@ -0,0 +1,22 @@
[gd_scene format=3 uid="uid://1ls2pjitfl5m"]
[ext_resource type="Script" uid="uid://ciusoegxdh344" path="res://scripts/actors/player.gd" id="1_ru62r"]
[ext_resource type="Texture2D" uid="uid://b7s06o6gm42rn" path="res://assets/sprites/icon.svg" id="2_ktjr4"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_qfnet"]
size = Vector2(32, 32)
[node name="Player" type="CharacterBody2D" unique_id=179780959]
script = ExtResource("1_ru62r")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=29528982]
scale = Vector2(0.25, 0.25)
texture = ExtResource("2_ktjr4")
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=272748828]
shape = SubResource("RectangleShape2D_qfnet")
[node name="Camera2D" type="Camera2D" parent="." unique_id=2033102226]
position_smoothing_enabled = true
drag_horizontal_enabled = true
drag_vertical_enabled = true
+10
View File
@@ -0,0 +1,10 @@
[gd_scene format=3 uid="uid://cnb0ykbiglgo6"]
[ext_resource type="Script" uid="uid://6xvdnyxsb2uq" path="res://scripts/world.gd" id="1_71j4m"]
[ext_resource type="TileSet" uid="uid://cmycomep4ap8y" path="res://assets/tilesets/office_02.tres" id="4_qfnet"]
[node name="World" type="Node2D" unique_id=1504396068]
script = ExtResource("1_71j4m")
[node name="MapLayer" type="TileMapLayer" parent="." unique_id=2055425416]
tile_set = ExtResource("4_qfnet")