Map generation fully working

This commit is contained in:
gdz
2025-12-07 21:55:28 +01:00
parent dd50a00cfa
commit c57076cd52
4 changed files with 18 additions and 29 deletions

View File

@@ -20,7 +20,6 @@ const GREEN_TILE: Vector2i = Vector2i(1, 1)
var tilemap: TileMap;
@onready var Player = $Player/AnimatedSprite2D
@onready var GroundLayer: TileMapLayer = $Ground
func _get_player_position() -> Vector2i:
@@ -43,21 +42,20 @@ func _ready() -> void:
func _process(delta: float) -> void:
pass
func _on_exited_chunk():
print("Chunk exited...")
$VisibleOnScreenNotifier2D.global_position = Player.global_position
var thread: Thread = Thread.new()
thread.start(func(): _populate_terrain())
thread.wait_to_finish()
func populate_terrain(startPos: Vector2i):
for i in range(-CHUNK_DOUBLE, CHUNK_DOUBLE):
for j in range(-CHUNK_DOUBLE, CHUNK_DOUBLE):
var pos: Vector2i = startPos + Vector2i(i, j)
if _is_empty(pos):
_populate_cell(pos, 1, _pick_random_tile())
func generate_map(mapSize: int):
print_debug("Generating map")
for x in range(-mapSize, mapSize):
for y in range(-mapSize, mapSize):
var pos: Vector2i = Vector2i(x, y)
_populate_cell(pos, 1, _pick_random_tile())
func _populate_terrain():
var player_position: Vector2i = _get_player_position()

View File

@@ -1,10 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://cywuuce71rmgb"]
[gd_scene load_steps=3 format=3 uid="uid://cywuuce71rmgb"]
[ext_resource type="Script" uid="uid://dneqmqsd8yj4p" path="res://Scenes/Map/Map.gd" id="1_anho1"]
[ext_resource type="TileSet" uid="uid://duodt2t14xjc8" path="res://Resource/UrbanKitTileMap.tres" id="2_fyo8k"]
[ext_resource type="Script" uid="uid://bapvlrx6dm7gu" path="res://Scenes/Map/visible_on_screen_notifier_2d.gd" id="3_eu35m"]
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_vjcy3"]
[node name="Map" type="Node"]
script = ExtResource("1_anho1")
@@ -24,16 +21,3 @@ metadata/_edit_lock_ = true
[node name="Details" type="TileMapLayer" parent="."]
tile_set = ExtResource("2_fyo8k")
metadata/_edit_lock_ = true
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
rect = Rect2(0, 0, 100, 100)
script = ExtResource("3_eu35m")
metadata/_edit_lock_ = true
metadata/_edit_group_ = true
[node name="Sprite2D" type="Sprite2D" parent="VisibleOnScreenNotifier2D"]
position = Vector2(50, 50)
scale = Vector2(10, 10)
texture = SubResource("PlaceholderTexture2D_vjcy3")
[connection signal="screen_exited" from="VisibleOnScreenNotifier2D" to="." method="_on_exited_chunk"]