mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-08 12:25:54 +00:00
Automatic doors
This commit is contained in:
parent
c3107fbce9
commit
3fc39f63c4
29 changed files with 401 additions and 525 deletions
18
Resources/RogueliteMaps/1x1_1.tres
Normal file
18
Resources/RogueliteMaps/1x1_1.tres
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
[gd_resource type="Resource" script_class="RogueliteRoomResource" load_steps=6 format=3 uid="uid://bxvv82vno8ub1"]
|
||||
|
||||
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="1_kawex"]
|
||||
[ext_resource type="Resource" uid="uid://cqfyuurvqb8m6" path="res://Resources/Enemies/Base_Fairy_Special.tres" id="2_ricl3"]
|
||||
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="3_uwwq2"]
|
||||
[ext_resource type="Resource" uid="uid://cfdvg162u65sr" path="res://Resources/Enemies/Thermathron.tres" id="4_nf0j0"]
|
||||
[ext_resource type="Script" uid="uid://bl2ne8w12e3a" path="res://Scripts/Resources/Roguelite/RogueliteRoomResource.cs" id="5_24r3d"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("5_24r3d")
|
||||
RoomName = &"TestMapSmall"
|
||||
Type = 1
|
||||
ScenePath = &"uid://b1d8s1dyvlpea"
|
||||
Size = Vector2i(1, 1)
|
||||
DoorGridPositions = Array[Vector2i]([Vector2i(0, -1), Vector2i(0, 1), Vector2i(1, 0), Vector2i(-1, 0)])
|
||||
SpawnableEnemies = Array[Object]([ExtResource("1_kawex"), ExtResource("2_ricl3"), ExtResource("3_uwwq2"), ExtResource("4_nf0j0")])
|
||||
DoorDirections = 30
|
||||
metadata/_custom_type_script = "uid://bl2ne8w12e3a"
|
||||
18
Resources/RogueliteMaps/1x2_1.tres
Normal file
18
Resources/RogueliteMaps/1x2_1.tres
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
[gd_resource type="Resource" script_class="RogueliteRoomResource" load_steps=6 format=3 uid="uid://d01146n5uo0gd"]
|
||||
|
||||
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="1_3l1ud"]
|
||||
[ext_resource type="Resource" uid="uid://cqfyuurvqb8m6" path="res://Resources/Enemies/Base_Fairy_Special.tres" id="2_k8mgx"]
|
||||
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="3_pwwwb"]
|
||||
[ext_resource type="Resource" uid="uid://cfdvg162u65sr" path="res://Resources/Enemies/Thermathron.tres" id="4_6ybgs"]
|
||||
[ext_resource type="Script" uid="uid://bl2ne8w12e3a" path="res://Scripts/Resources/Roguelite/RogueliteRoomResource.cs" id="5_v4ch6"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("5_v4ch6")
|
||||
RoomName = &"LongMap"
|
||||
Type = 1
|
||||
ScenePath = &"uid://c4hcrag27aavo"
|
||||
Size = Vector2i(1, 2)
|
||||
DoorGridPositions = Array[Vector2i]([Vector2i(0, -1), Vector2i(0, 1), Vector2i(1, 0), Vector2i(-1, 0)])
|
||||
SpawnableEnemies = Array[Object]([ExtResource("1_3l1ud"), ExtResource("2_k8mgx"), ExtResource("3_pwwwb"), ExtResource("4_6ybgs")])
|
||||
DoorDirections = 30
|
||||
metadata/_custom_type_script = "uid://bl2ne8w12e3a"
|
||||
|
|
@ -9,6 +9,6 @@ Type = 0
|
|||
ScenePath = &"uid://24wh7h2dbljf"
|
||||
Size = Vector2i(1, 1)
|
||||
DoorGridPositions = Array[Vector2i]([Vector2i(0, -1)])
|
||||
SpawnableEnemies = null
|
||||
DoorDirections = 4
|
||||
SpawnableEnemies = []
|
||||
DoorDirections = 30
|
||||
metadata/_custom_type_script = "uid://bl2ne8w12e3a"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=30 format=3 uid="uid://bf1kqr3o6r6d4"]
|
||||
[gd_scene load_steps=32 format=3 uid="uid://bf1kqr3o6r6d4"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_wbqvu"]
|
||||
[ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_3fyis"]
|
||||
|
|
@ -29,6 +29,8 @@
|
|||
[ext_resource type="Resource" uid="uid://bo4efv7rwowuh" path="res://Resources/RogueliteMaps/SecretRoom1.tres" id="20_xrp0h"]
|
||||
[ext_resource type="Resource" uid="uid://cb7gk278lmicd" path="res://Resources/RogueliteMaps/Lab2x1_1.tres" id="21_2lxq3"]
|
||||
[ext_resource type="Resource" uid="uid://char0yv78vtty" path="res://Resources/RogueliteMaps/BigTest2.tres" id="22_6ahuq"]
|
||||
[ext_resource type="Resource" uid="uid://bxvv82vno8ub1" path="res://Resources/RogueliteMaps/1x1_1.tres" id="23_xrp0h"]
|
||||
[ext_resource type="Resource" uid="uid://d01146n5uo0gd" path="res://Resources/RogueliteMaps/1x2_1.tres" id="24_e0fjr"]
|
||||
|
||||
[node name="GameScene" type="Node2D"]
|
||||
process_mode = 3
|
||||
|
|
@ -43,9 +45,12 @@ SpawnMarkers = Dictionary[int, NodePath]({
|
|||
process_mode = 1
|
||||
y_sort_enabled = true
|
||||
script = ExtResource("4_jtlua")
|
||||
Rooms = Array[Object]([ExtResource("5_gwtv6"), ExtResource("6_gwtv6"), ExtResource("7_wbqvu"), ExtResource("8_3fyis"), ExtResource("9_go1yg"), ExtResource("5_pfafs"), ExtResource("11_68lig"), ExtResource("12_83bvc"), ExtResource("13_y651a"), ExtResource("14_vhvs2"), ExtResource("15_6gk3e"), ExtResource("16_4gy5m"), ExtResource("17_td7hx"), ExtResource("18_2lxq3"), ExtResource("19_6ahuq"), ExtResource("20_xrp0h"), ExtResource("21_2lxq3"), ExtResource("22_6ahuq")])
|
||||
DungeonLength = 4
|
||||
Rooms = Array[Object]([ExtResource("5_gwtv6"), ExtResource("6_gwtv6"), ExtResource("7_wbqvu"), ExtResource("8_3fyis"), ExtResource("9_go1yg"), ExtResource("5_pfafs"), ExtResource("11_68lig"), ExtResource("12_83bvc"), ExtResource("13_y651a"), ExtResource("14_vhvs2"), ExtResource("15_6gk3e"), ExtResource("16_4gy5m"), ExtResource("17_td7hx"), ExtResource("18_2lxq3"), ExtResource("19_6ahuq"), ExtResource("20_xrp0h"), ExtResource("21_2lxq3"), ExtResource("22_6ahuq"), ExtResource("23_xrp0h"), ExtResource("24_e0fjr")])
|
||||
DungeonLength = 3
|
||||
MaxBranchLength = 2
|
||||
MaxKeys = 2
|
||||
MaxSecrets = 1
|
||||
MaxTreasures = 1
|
||||
Seed = 1
|
||||
|
||||
[node name="CameraController" type="Camera2D" parent="."]
|
||||
|
|
|
|||
78
Scenes/Maps/RogueliteMaps/1x1_1.tscn
Normal file
78
Scenes/Maps/RogueliteMaps/1x1_1.tscn
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
[gd_scene load_steps=10 format=4 uid="uid://b1d8s1dyvlpea"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_gia43"]
|
||||
[ext_resource type="Resource" uid="uid://bxvv82vno8ub1" path="res://Resources/RogueliteMaps/1x1_1.tres" id="2_gia43"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_tth3t"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_2fric"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_bl5tn"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_dhet3"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_wp2g7"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
vertices = PackedVector2Array(166, 58, 294, 58, 294, 134, 166, 134, 166, 150, 154, 150, 154, 134, 154, 58, 26, 134, 26, 58, 166, 10, 154, 10)
|
||||
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(3, 4, 5, 6), PackedInt32Array(0, 3, 6, 7), PackedInt32Array(6, 8, 9, 7), PackedInt32Array(10, 0, 7, 11)])
|
||||
outlines = Array[PackedVector2Array]([PackedVector2Array(17, 36, 14, 12, 47, 15, 49, 34)])
|
||||
parsed_collision_mask = 353
|
||||
source_geometry_mode = 1
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_rlq0q"]
|
||||
size = Vector2(272, 85)
|
||||
|
||||
[node name="Map" type="Node2D"]
|
||||
process_mode = 1
|
||||
script = ExtResource("1_gia43")
|
||||
RoomResource = ExtResource("2_gia43")
|
||||
DoorPrefab = ExtResource("3_tth3t")
|
||||
VerticalDoorPrefab = ExtResource("4_2fric")
|
||||
WallPrefab = ExtResource("4_bl5tn")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
||||
[node name="Floor" type="TileMapLayer" parent="Tilemaps" node_paths=PackedStringArray("_solidLayers") groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAAAAAIAAAALAAYAAAAAAAMAAAALAAYAAAAAAAQAAAALAAYAAAAAAAUAAAALAAYAAAAAAAYAAAALAAYAAAAAAAcAAAALAAYAAAAAAAgAAAALAAYAAAAAAAkAAAALAAYAAAABAAIAAAALAAYAAAABAAMAAAALAAYAAAABAAQAAAALAAYAAAABAAUAAAALAAYAAAABAAYAAAALAAYAAAABAAcAAAALAAYAAAABAAgAAAALAAYAAAABAAkAAAALAAYAAAACAAIAAAALAAYAAAACAAMAAAALAAYAAAACAAQAAAALAAYAAAACAAUAAAALAAYAAAACAAYAAAALAAYAAAACAAcAAAALAAYAAAACAAgAAAALAAYAAAACAAkAAAALAAYAAAADAAIAAAALAAYAAAADAAMAAAALAAYAAAADAAQAAAALAAYAAAADAAUAAAALAAYAAAADAAYAAAALAAYAAAADAAcAAAALAAYAAAADAAgAAAALAAYAAAADAAkAAAALAAYAAAAEAAIAAAALAAYAAAAEAAMAAAALAAYAAAAEAAQAAAALAAYAAAAEAAUAAAALAAYAAAAEAAYAAAALAAYAAAAEAAcAAAALAAYAAAAEAAgAAAALAAYAAAAEAAkAAAALAAYAAAAFAAIAAAALAAYAAAAFAAMAAAALAAYAAAAFAAQAAAALAAYAAAAFAAUAAAALAAYAAAAFAAYAAAALAAYAAAAFAAcAAAALAAYAAAAFAAgAAAALAAYAAAAFAAkAAAALAAYAAAAGAAIAAAALAAYAAAAGAAMAAAALAAYAAAAGAAQAAAALAAYAAAAGAAUAAAALAAYAAAAGAAYAAAALAAYAAAAGAAcAAAALAAYAAAAGAAgAAAALAAYAAAAGAAkAAAALAAYAAAAHAAIAAAALAAYAAAAHAAMAAAALAAYAAAAHAAQAAAALAAYAAAAHAAUAAAALAAYAAAAHAAYAAAALAAYAAAAHAAcAAAALAAYAAAAHAAgAAAALAAYAAAAHAAkAAAALAAYAAAAIAAIAAAALAAYAAAAIAAMAAAALAAYAAAAIAAQAAAALAAYAAAAIAAUAAAALAAYAAAAIAAYAAAALAAYAAAAIAAcAAAALAAYAAAAIAAgAAAALAAYAAAAIAAkAAAALAAYAAAAJAAIAAAALAAYAAAAJAAMAAAALAAYAAAAJAAQAAAALAAYAAAAJAAUAAAALAAYAAAAJAAYAAAALAAYAAAAJAAcAAAALAAYAAAAJAAgAAAALAAYAAAAJAAkAAAALAAYAAAAKAAIAAAALAAYAAAAKAAMAAAALAAYAAAAKAAQAAAALAAYAAAAKAAUAAAALAAYAAAAKAAYAAAALAAYAAAAKAAcAAAALAAYAAAAKAAgAAAALAAYAAAAKAAkAAAALAAYAAAALAAIAAAALAAYAAAALAAUAAAALAAYAAAALAAYAAAALAAYAAAALAAcAAAALAAYAAAALAAgAAAALAAYAAAALAAkAAAALAAYAAAAMAAIAAAALAAYAAAAMAAUAAAALAAYAAAAMAAYAAAALAAYAAAAMAAcAAAALAAYAAAAMAAgAAAALAAYAAAAMAAkAAAALAAYAAAANAAIAAAALAAYAAAANAAMAAAALAAYAAAANAAQAAAALAAYAAAANAAUAAAALAAYAAAANAAYAAAALAAYAAAANAAcAAAALAAYAAAANAAgAAAALAAYAAAANAAkAAAALAAYAAAAOAAIAAAALAAYAAAAOAAMAAAALAAYAAAAOAAQAAAALAAYAAAAOAAUAAAALAAYAAAAOAAYAAAALAAYAAAAOAAcAAAALAAYAAAAOAAgAAAALAAYAAAAOAAkAAAALAAYAAAAPAAIAAAALAAYAAAAPAAMAAAALAAYAAAAPAAQAAAALAAYAAAAPAAUAAAALAAYAAAAPAAYAAAALAAYAAAAPAAcAAAALAAYAAAAPAAgAAAALAAYAAAAPAAkAAAALAAYAAAAQAAIAAAALAAYAAAAQAAMAAAALAAYAAAAQAAQAAAALAAYAAAAQAAUAAAALAAYAAAAQAAYAAAALAAYAAAAQAAcAAAALAAYAAAAQAAgAAAALAAYAAAAQAAkAAAALAAYAAAARAAIAAAALAAYAAAARAAMAAAALAAYAAAARAAQAAAALAAYAAAARAAUAAAALAAYAAAARAAYAAAALAAYAAAARAAcAAAALAAYAAAARAAgAAAALAAYAAAARAAkAAAALAAYAAAASAAIAAAALAAYAAAASAAMAAAALAAYAAAASAAQAAAALAAYAAAASAAUAAAALAAYAAAASAAYAAAALAAYAAAASAAcAAAALAAYAAAASAAgAAAALAAYAAAASAAkAAAALAAYAAAATAAIAAAALAAYAAAATAAMAAAALAAYAAAATAAQAAAALAAYAAAATAAUAAAALAAYAAAATAAYAAAALAAYAAAATAAcAAAALAAYAAAATAAgAAAALAAYAAAATAAkAAAALAAYAAAAAAAAAAAALAAYAAAAAAAEAAAALAAYAAAABAAAAAAALAAYAAAABAAEAAAALAAYAAAACAAAAAAALAAYAAAACAAEAAAALAAYAAAADAAAAAAALAAYAAAADAAEAAAALAAYAAAAEAAAAAAALAAYAAAAEAAEAAAALAAYAAAAFAAAAAAALAAYAAAAFAAEAAAALAAYAAAAGAAAAAAALAAYAAAAGAAEAAAALAAYAAAAHAAAAAAALAAYAAAAHAAEAAAALAAYAAAAIAAAAAAALAAYAAAAIAAEAAAALAAYAAAAJAAAAAAALAAYAAAAJAAEAAAALAAYAAAAKAAAAAAALAAYAAAAKAAEAAAALAAYAAAALAAAAAAALAAYAAAALAAEAAAALAAYAAAALAAMAAAALAAYAAAALAAQAAAALAAYAAAAMAAAAAAALAAYAAAAMAAEAAAALAAYAAAAMAAMAAAALAAYAAAAMAAQAAAALAAYAAAANAAAAAAALAAYAAAANAAEAAAALAAYAAAAOAAAAAAALAAYAAAAOAAEAAAALAAYAAAAPAAAAAAALAAYAAAAPAAEAAAALAAYAAAAQAAAAAAALAAYAAAAQAAEAAAALAAYAAAARAAAAAAALAAYAAAARAAEAAAALAAYAAAASAAAAAAALAAYAAAASAAEAAAALAAYAAAATAAAAAAALAAYAAAATAAEAAAALAAYAAAA=")
|
||||
tile_set = ExtResource("5_dhet3")
|
||||
navigation_enabled = false
|
||||
script = ExtResource("6_wp2g7")
|
||||
_solidLayers = [NodePath("../Solid"), NodePath("../Props")]
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Solid" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAATAAAAAAABAAsAAAASAAAAAAABAAQAAAARAAAAAAABAAQAAAAQAAAAAAABAAQAAAAPAAAAAAABAAQAAAAOAAAAAAABAAQAAAANAAAAAAABAAQAAAAMAAAAAAABAAQAAAALAAAAAAACAAQAAAAIAAAAAAADAAQAAAAHAAAAAAABAAQAAAAGAAAAAAABAAQAAAAFAAAAAAABAAQAAAAEAAAAAAABAAQAAAADAAAAAAABAAQAAAACAAAAAAABAAQAAAABAAAAAAABAAQAAAAAAAAAAAAAAAsAAAATAAIAAAAEAAQAAAATAAEAAAAAAAQAAAAAAAIAAAAEAAQAAAAAAAEAAAAAAAQAAAAAAAkAAAAAAAwAAAAAAAgAAAAAAAQAAAAAAAcAAAAAAAQAAAAAAAYAAAAFAAQAAAATAAkAAAABAAwAAAASAAkAAAABAAQAAAARAAkAAAABAAQAAAAQAAkAAAABAAQAAAAPAAkAAAABAAQAAAAOAAkAAAABAAQAAAANAAkAAAABAAQAAAAMAAkAAAABAAQAAAALAAkAAAACAAQAAAAIAAkAAAADAAQAAAAHAAkAAAABAAQAAAAGAAkAAAABAAQAAAAFAAkAAAABAAQAAAAEAAkAAAABAAQAAAADAAkAAAABAAQAAAACAAkAAAABAAQAAAABAAkAAAABAAQAAAATAAgAAAAAAAQAAAATAAcAAAAAAAQAAAATAAYAAAAFAAQAAAATAAMAAAAKAAgAAAATAAQAAAAKAAkAAAALAAEAAAAKAAgAAAALAAIAAAAKAAkAAAAMAAEAAAAKAAgAAAAMAAIAAAAKAAkAAAANAAEAAAAKAAgAAAANAAIAAAAKAAkAAAAOAAEAAAAKAAgAAAAOAAIAAAAKAAkAAAAPAAEAAAAKAAgAAAAPAAIAAAAKAAkAAAAQAAEAAAAKAAgAAAAQAAIAAAAKAAkAAAARAAEAAAAKAAgAAAARAAIAAAAKAAkAAAASAAEAAAAKAAgAAAASAAIAAAAKAAkAAAABAAEAAAAKAAgAAAABAAIAAAAKAAkAAAACAAEAAAAKAAgAAAACAAIAAAAKAAkAAAADAAEAAAAKAAgAAAADAAIAAAAKAAkAAAAEAAEAAAAKAAgAAAAEAAIAAAAKAAkAAAAFAAEAAAAKAAgAAAAFAAIAAAAKAAkAAAAGAAEAAAAKAAgAAAAGAAIAAAAKAAkAAAAHAAEAAAAKAAgAAAAHAAIAAAAKAAkAAAAIAAEAAAAKAAgAAAAIAAIAAAAKAAkAAAAAAAMAAAAKAAgAAAAAAAQAAAAKAAkAAAA=")
|
||||
tile_set = ExtResource("5_dhet3")
|
||||
navigation_enabled = false
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Props" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAATAAMAAAAKAA4AAAATAAQAAAAKAA8AAAAAAAMAAAAKAA4AAAAAAAQAAAAKAA8AAAABAAcAAQAAAAAAAgABAAgAAQAAAAAAAgACAAgAAQAAAAAAAgAHAAUAAQAAAAAAAQANAAQAAQAAAAAAAQAOAAQAAQAAAAAAAQAQAAgAAQAAAAAADAARAAgAAQAAAAAADAARAAMAAQAAAAAADAASAAMAAQAAAAAADAASAAgAAQAAAAAAEAAQAAMAAQAAAAAAEAABAAMAAQAAAAAAEAACAAMAAQAAAAAAEAABAAQAAQAAAAAAEAADAAMAAQAAAAAAEAA=")
|
||||
tile_set = ExtResource("5_dhet3")
|
||||
navigation_enabled = false
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Actors" type="Node2D" parent="Tilemaps"]
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="EnemySpawners" type="Node2D" parent="."]
|
||||
|
||||
[node name="RogueliteEnemySpawner" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(64, 129)
|
||||
|
||||
[node name="RogueliteEnemySpawner2" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(193, 81)
|
||||
|
||||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(242, 131)
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
|
||||
[node name="PlayerEnterDetector" type="Area2D" parent="."]
|
||||
visible = false
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerEnterDetector"]
|
||||
position = Vector2(162, 94.5)
|
||||
shape = SubResource("RectangleShape2D_rlq0q")
|
||||
|
||||
[connection signal="area_entered" from="PlayerEnterDetector" to="." method="OnRoomEntered"]
|
||||
79
Scenes/Maps/RogueliteMaps/1x2_1.tscn
Normal file
79
Scenes/Maps/RogueliteMaps/1x2_1.tscn
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -1,11 +1,12 @@
|
|||
[gd_scene load_steps=9 format=4 uid="uid://24wh7h2dbljf"]
|
||||
[gd_scene load_steps=10 format=4 uid="uid://24wh7h2dbljf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_vhsym"]
|
||||
[ext_resource type="Resource" uid="uid://dn3ai56rrxfnk" path="res://Resources/RogueliteMaps/Beginner1.tres" id="2_vhsym"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_pys6w"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="3_u3c1h"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_70a8f"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="4_pys6w"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="5_mqiea"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_s67gl"]
|
||||
[ext_resource type="PackedScene" uid="uid://4q82gggqax87" path="res://Scenes/Items/Cheat_Gun_Pickup.tscn" id="6_pys6w"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_u3c1h"]
|
||||
|
|
@ -16,6 +17,8 @@ process_mode = 1
|
|||
script = ExtResource("1_vhsym")
|
||||
RoomResource = ExtResource("2_vhsym")
|
||||
DoorPrefab = ExtResource("3_pys6w")
|
||||
VerticalDoorPrefab = ExtResource("4_s67gl")
|
||||
WallPrefab = ExtResource("4_70a8f")
|
||||
metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn"
|
||||
|
||||
[node name="Floor" type="TileMapLayer" parent="." node_paths=PackedStringArray("_solidLayers") groups=["Solid"]]
|
||||
|
|
@ -45,27 +48,6 @@ position = Vector2(119, 127)
|
|||
|
||||
[node name="EnemySpawners" type="Node2D" parent="."]
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("5_mqiea")
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(160, 162)
|
||||
script = ExtResource("5_mqiea")
|
||||
Direction = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312, 87)
|
||||
script = ExtResource("5_mqiea")
|
||||
Direction = 2
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("5_mqiea")
|
||||
Direction = 3
|
||||
|
||||
[node name="PlayerEnterDetector" type="Area2D" parent="."]
|
||||
visible = false
|
||||
collision_layer = 0
|
||||
|
|
|
|||
|
|
@ -5,14 +5,15 @@
|
|||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_vo7cb"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="3_wmvx8"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_5nx6x"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_6d01x"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="4_vo7cb"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="5_xjj1f"]
|
||||
|
||||
[node name="Tilemaps" type="Node2D"]
|
||||
process_mode = 1
|
||||
script = ExtResource("1_vm1u7")
|
||||
RoomResource = ExtResource("2_vm1u7")
|
||||
DoorPrefab = ExtResource("3_vo7cb")
|
||||
VerticalDoorPrefab = ExtResource("4_6d01x")
|
||||
WallPrefab = ExtResource("4_5nx6x")
|
||||
|
||||
[node name="Floor" type="TileMapLayer" parent="." node_paths=PackedStringArray("_solidLayers") groups=["Solid"]]
|
||||
|
|
@ -47,24 +48,3 @@ position = Vector2(88, 126)
|
|||
|
||||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(266, 122)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("5_xjj1f")
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159.196, 149.348)
|
||||
script = ExtResource("5_xjj1f")
|
||||
Direction = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312, 87)
|
||||
script = ExtResource("5_xjj1f")
|
||||
Direction = 2
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("5_xjj1f")
|
||||
Direction = 3
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_3j8r8"]
|
||||
[ext_resource type="Resource" uid="uid://bew4cuec4pbms" path="res://Resources/RogueliteMaps/KeyRoom1.tres" id="2_3j8r8"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_t6hxp"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_3j8r8"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_hfso4"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_3o7os"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_sn1r1"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="7_ec7cq"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
vertices = PackedVector2Array(166, 58, 294, 58, 294, 134, 166, 134, 166, 150, 154, 150, 154, 134, 154, 58, 26, 134, 26, 58, 166, 10, 154, 10)
|
||||
|
|
@ -23,6 +23,7 @@ process_mode = 1
|
|||
script = ExtResource("1_3j8r8")
|
||||
RoomResource = ExtResource("2_3j8r8")
|
||||
DoorPrefab = ExtResource("3_t6hxp")
|
||||
VerticalDoorPrefab = ExtResource("4_3j8r8")
|
||||
WallPrefab = ExtResource("4_hfso4")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
|
@ -51,27 +52,6 @@ metadata/_edit_lock_ = true
|
|||
|
||||
[node name="EnemySpawners" type="Node2D" parent="."]
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("7_ec7cq")
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159.196, 149.348)
|
||||
script = ExtResource("7_ec7cq")
|
||||
Direction = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312, 87)
|
||||
script = ExtResource("7_ec7cq")
|
||||
Direction = 2
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("7_ec7cq")
|
||||
Direction = 3
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_ntv3p"]
|
||||
[ext_resource type="Resource" uid="uid://do11fodskgasi" path="res://Resources/RogueliteMaps/RGTestRoom1.tres" id="2_ntv3p"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_7u0ti"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_76t1d"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_wb0b4"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_76t1d"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_tcpmo"]
|
||||
[ext_resource type="PackedScene" uid="uid://crph24e6e0v0q" path="res://Scenes/Interactable/Control_Pad.tscn" id="7_fyclk"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="7_sgpia"]
|
||||
[ext_resource type="PackedScene" uid="uid://cjsnhyl0nqbau" path="res://Scenes/Props/ICCTv.tscn" id="8_7u0ti"]
|
||||
[ext_resource type="PackedScene" uid="uid://cqrkisw6jg24w" path="res://Scenes/Props/MainFrame1.tscn" id="10_wb0b4"]
|
||||
|
||||
|
|
@ -26,6 +26,7 @@ process_mode = 1
|
|||
script = ExtResource("1_ntv3p")
|
||||
RoomResource = ExtResource("2_ntv3p")
|
||||
DoorPrefab = ExtResource("3_7u0ti")
|
||||
VerticalDoorPrefab = ExtResource("4_76t1d")
|
||||
WallPrefab = ExtResource("4_wb0b4")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
|
@ -84,17 +85,6 @@ position = Vector2(108.853, 272.771)
|
|||
[node name="RogueliteEnemySpawner4" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(270.664, 114.692)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(160, 31)
|
||||
script = ExtResource("7_sgpia")
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(160, 316)
|
||||
script = ExtResource("7_sgpia")
|
||||
Direction = 1
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_dm6kf"]
|
||||
[ext_resource type="Resource" uid="uid://b5x83li01qrav" path="res://Resources/RogueliteMaps/TestRGMap.tres" id="2_5s4nm"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_sid7o"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_kfj8c"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_rlq0q"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_q5p8k"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_81nvh"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="6_b5lqw"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
vertices = PackedVector2Array(166, 58, 294, 58, 294, 134, 166, 134, 166, 150, 154, 150, 154, 134, 154, 58, 26, 134, 26, 58, 166, 10, 154, 10)
|
||||
|
|
@ -23,6 +23,7 @@ process_mode = 1
|
|||
script = ExtResource("1_dm6kf")
|
||||
RoomResource = ExtResource("2_5s4nm")
|
||||
DoorPrefab = ExtResource("3_sid7o")
|
||||
VerticalDoorPrefab = ExtResource("4_kfj8c")
|
||||
WallPrefab = ExtResource("4_rlq0q")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
|
@ -60,31 +61,12 @@ position = Vector2(88, 126)
|
|||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(266, 122)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("6_b5lqw")
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159.196, 149.348)
|
||||
script = ExtResource("6_b5lqw")
|
||||
Direction = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312, 87)
|
||||
script = ExtResource("6_b5lqw")
|
||||
Direction = 2
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("6_b5lqw")
|
||||
Direction = 3
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
|
||||
[node name="PlayerEnterDetector" type="Area2D" parent="."]
|
||||
visible = false
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@
|
|||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="3_f7qjl"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_wtdf1"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_hgeju"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_qe4tn"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="4_wtdf1"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="5_2djm0"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_f7qjl"]
|
||||
vertices = PackedVector2Array(186, 122, 186, 58, 294, 58, 294, 134, 166, 134, 134, 122, 166, 150, 154, 150, 154, 134, 26, 134, 26, 58, 134, 58, 166, 54, 154, 54, 154, 10, 166, 10)
|
||||
|
|
@ -23,6 +23,7 @@ process_mode = 1
|
|||
script = ExtResource("1_cak6m")
|
||||
RoomResource = ExtResource("2_cak6m")
|
||||
DoorPrefab = ExtResource("3_wtdf1")
|
||||
VerticalDoorPrefab = ExtResource("4_qe4tn")
|
||||
WallPrefab = ExtResource("4_hgeju")
|
||||
metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn"
|
||||
|
||||
|
|
@ -62,27 +63,6 @@ position = Vector2(233, 63)
|
|||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(266, 122)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("5_2djm0")
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 161)
|
||||
script = ExtResource("5_2djm0")
|
||||
Direction = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312, 87)
|
||||
script = ExtResource("5_2djm0")
|
||||
Direction = 2
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("5_2djm0")
|
||||
Direction = 3
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
navigation_polygon = SubResource("NavigationPolygon_f7qjl")
|
||||
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_0pyb7"]
|
||||
[ext_resource type="Resource" uid="uid://cb7gk278lmicd" path="res://Resources/RogueliteMaps/Lab2x1_1.tres" id="2_0pyb7"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_8uhw6"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_0pyb7"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_gq82i"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_xmtgx"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_k6m50"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="7_a4eus"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_f7qjl"]
|
||||
vertices = PackedVector2Array(186, 122, 186, 58, 294, 58, 294, 74, 319.922, 74, 319.922, 58, 454, 58, 454, 122, 506, 122, 506, 58, 614, 58, 614, 134, 486, 134, 486, 150, 474, 150, 474, 134, 166, 134, 134, 122, 154, 134, 166, 150, 154, 150, 26, 134, 26, 58, 134, 58, 166, 54, 154, 54, 154, 10, 166, 10, 486, 54, 474, 54, 474, 10, 486, 10)
|
||||
|
|
@ -23,6 +23,7 @@ process_mode = 1
|
|||
script = ExtResource("1_0pyb7")
|
||||
RoomResource = ExtResource("2_0pyb7")
|
||||
DoorPrefab = ExtResource("3_8uhw6")
|
||||
VerticalDoorPrefab = ExtResource("4_0pyb7")
|
||||
WallPrefab = ExtResource("4_gq82i")
|
||||
metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn"
|
||||
|
||||
|
|
@ -62,38 +63,6 @@ position = Vector2(306, 115)
|
|||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(571, 91)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("7_a4eus")
|
||||
|
||||
[node name="North2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(479.755, 23.6396)
|
||||
script = ExtResource("7_a4eus")
|
||||
WallIndex = 1
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 161)
|
||||
script = ExtResource("7_a4eus")
|
||||
Direction = 1
|
||||
|
||||
[node name="South2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(479.365, 161.023)
|
||||
script = ExtResource("7_a4eus")
|
||||
Direction = 1
|
||||
WallIndex = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(632, 86)
|
||||
script = ExtResource("7_a4eus")
|
||||
Direction = 2
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("7_a4eus")
|
||||
Direction = 3
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_f7qjl")
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_xsqjb"]
|
||||
[ext_resource type="Resource" uid="uid://bv0mr43vcfrdh" path="res://Resources/RogueliteMaps/BigMap.tres" id="2_xsqjb"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_cgxuy"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_cgxuy"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="4_tyndx"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="5_lrgk6"]
|
||||
[ext_resource type="PackedScene" uid="uid://dcbcyp1qogcl0" path="res://Scenes/Props/BigTankHorizontal.tscn" id="6_cgxuy"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="6_x7fb3"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="8_tyndx"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_lrgk6"]
|
||||
|
|
@ -24,6 +24,7 @@ process_mode = 1
|
|||
script = ExtResource("1_xsqjb")
|
||||
RoomResource = ExtResource("2_xsqjb")
|
||||
DoorPrefab = ExtResource("3_cgxuy")
|
||||
VerticalDoorPrefab = ExtResource("4_cgxuy")
|
||||
WallPrefab = ExtResource("8_tyndx")
|
||||
metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn"
|
||||
|
||||
|
|
@ -90,50 +91,6 @@ position = Vector2(449, 268)
|
|||
[node name="RogueliteEnemySpawner5" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(290, 254)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 34)
|
||||
script = ExtResource("6_x7fb3")
|
||||
|
||||
[node name="North2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(480, 32)
|
||||
script = ExtResource("6_x7fb3")
|
||||
WallIndex = 1
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(160, 323)
|
||||
script = ExtResource("6_x7fb3")
|
||||
Direction = 1
|
||||
|
||||
[node name="South2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(480, 323)
|
||||
script = ExtResource("6_x7fb3")
|
||||
Direction = 1
|
||||
WallIndex = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(630, 88)
|
||||
script = ExtResource("6_x7fb3")
|
||||
Direction = 2
|
||||
|
||||
[node name="East2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(629, 248)
|
||||
script = ExtResource("6_x7fb3")
|
||||
Direction = 2
|
||||
WallIndex = 1
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("6_x7fb3")
|
||||
Direction = 3
|
||||
|
||||
[node name="West2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(6, 247)
|
||||
script = ExtResource("6_x7fb3")
|
||||
Direction = 3
|
||||
WallIndex = 1
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_lrgk6")
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_7v35i"]
|
||||
[ext_resource type="Resource" uid="uid://char0yv78vtty" path="res://Resources/RogueliteMaps/BigTest2.tres" id="2_7v35i"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_iv5kp"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_7v35i"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_fj3qi"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_0x325"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_ed0jw"]
|
||||
[ext_resource type="PackedScene" uid="uid://dcbcyp1qogcl0" path="res://Scenes/Props/BigTankHorizontal.tscn" id="7_3eg8q"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="8_gx7sl"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_lrgk6"]
|
||||
vertices = PackedVector2Array(486, 58, 614, 58, 614, 294, 486, 294, 378, 211, 378, 155, 166, 58, 179, 58, 179, 77, 254, 77, 254, 58, 474, 58, 376, 107, 324, 107, 474, 10, 486, 10, 376, 155, 324, 163, 326, 163, 326, 211, 314, 211, 314, 107, 262, 107, 486, 310, 474, 310, 474, 294, 246, 294, 246, 265, 262, 211, 200, 265, 200, 294, 166, 294, 154, 58, 166, 310, 154, 310, 154, 294, 26, 294, 26, 58, 154, 10, 166, 10)
|
||||
|
|
@ -24,6 +24,7 @@ process_mode = 1
|
|||
script = ExtResource("1_7v35i")
|
||||
RoomResource = ExtResource("2_7v35i")
|
||||
DoorPrefab = ExtResource("3_iv5kp")
|
||||
VerticalDoorPrefab = ExtResource("4_7v35i")
|
||||
WallPrefab = ExtResource("4_fj3qi")
|
||||
metadata/test_scene = "res://Scenes/Maps/Roguelike.tscn"
|
||||
|
||||
|
|
@ -90,50 +91,6 @@ position = Vector2(449, 268)
|
|||
[node name="RogueliteEnemySpawner5" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(290, 254)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 34)
|
||||
script = ExtResource("8_gx7sl")
|
||||
|
||||
[node name="North2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(480, 32)
|
||||
script = ExtResource("8_gx7sl")
|
||||
WallIndex = 1
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(160, 323)
|
||||
script = ExtResource("8_gx7sl")
|
||||
Direction = 1
|
||||
|
||||
[node name="South2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(480, 323)
|
||||
script = ExtResource("8_gx7sl")
|
||||
Direction = 1
|
||||
WallIndex = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(630, 88)
|
||||
script = ExtResource("8_gx7sl")
|
||||
Direction = 2
|
||||
|
||||
[node name="East2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(629, 248)
|
||||
script = ExtResource("8_gx7sl")
|
||||
Direction = 2
|
||||
WallIndex = 1
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("8_gx7sl")
|
||||
Direction = 3
|
||||
|
||||
[node name="West2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(6, 247)
|
||||
script = ExtResource("8_gx7sl")
|
||||
Direction = 3
|
||||
WallIndex = 1
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_lrgk6")
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
[ext_resource type="Resource" uid="uid://n6nb5yco60gi" path="res://Resources/RogueliteMaps/BigLarge.tres" id="2_u4oyu"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_6wahx"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_3d7yv"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_u4oyu"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_kigg1"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_tgkll"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="7_67kci"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
vertices = PackedVector2Array(474, 58, 474, 10, 486, 10, 486, 58, 794, 58, 794, 10, 806, 10, 806, 58, 934, 58, 934, 294, 806, 294, 794, 294, 806, 310, 794, 310, 486, 294, 474, 294, 486, 310, 474, 310, 166, 58, 166, 294, 166, 310, 154, 310, 154, 294, 154, 58, 26, 294, 26, 58, 166, 10, 154, 10)
|
||||
|
|
@ -23,6 +23,7 @@ process_mode = 1
|
|||
script = ExtResource("1_u4oyu")
|
||||
RoomResource = ExtResource("2_u4oyu")
|
||||
DoorPrefab = ExtResource("3_6wahx")
|
||||
VerticalDoorPrefab = ExtResource("4_u4oyu")
|
||||
WallPrefab = ExtResource("4_3d7yv")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
|
@ -60,49 +61,6 @@ position = Vector2(88, 126)
|
|||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(266, 122)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("7_67kci")
|
||||
|
||||
[node name="North2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(479.257, 20.6745)
|
||||
script = ExtResource("7_67kci")
|
||||
WallIndex = 1
|
||||
|
||||
[node name="North3" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(794.686, 18.3888)
|
||||
script = ExtResource("7_67kci")
|
||||
WallIndex = 2
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(158, 319)
|
||||
script = ExtResource("7_67kci")
|
||||
Direction = 1
|
||||
|
||||
[node name="South2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(477, 319)
|
||||
script = ExtResource("7_67kci")
|
||||
Direction = 1
|
||||
WallIndex = 1
|
||||
|
||||
[node name="South3" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(800, 317)
|
||||
script = ExtResource("7_67kci")
|
||||
Direction = 1
|
||||
WallIndex = 2
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(951, 88)
|
||||
script = ExtResource("7_67kci")
|
||||
Direction = 2
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("7_67kci")
|
||||
Direction = 3
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
[ext_resource type="Resource" uid="uid://cc53bb6th33hi" path="res://Resources/RogueliteMaps/RGHorizontal1x1.tres" id="2_y5eok"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_kf55v"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_rxusd"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_y5eok"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_0c8ec"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_e2cwd"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="7_skhsf"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
vertices = PackedVector2Array(166, 58, 294, 58, 294, 134, 166, 134, 166, 150, 154, 150, 154, 134, 154, 58, 26, 134, 26, 58, 166, 10, 154, 10)
|
||||
|
|
@ -23,6 +23,7 @@ process_mode = 1
|
|||
script = ExtResource("1_y5eok")
|
||||
RoomResource = ExtResource("2_y5eok")
|
||||
DoorPrefab = ExtResource("3_kf55v")
|
||||
VerticalDoorPrefab = ExtResource("4_y5eok")
|
||||
WallPrefab = ExtResource("4_rxusd")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
|
@ -61,18 +62,6 @@ position = Vector2(88, 126)
|
|||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(266, 122)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312, 87)
|
||||
script = ExtResource("7_skhsf")
|
||||
Direction = 2
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("7_skhsf")
|
||||
Direction = 3
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
[ext_resource type="Resource" uid="uid://cjtcksew0qy6d" path="res://Resources/RogueliteMaps/TestRGMapLarge.tres" id="2_5bd7y"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_4pnhf"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_1w61p"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_5bd7y"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_2mndj"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_1dlui"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="7_d57gj"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
vertices = PackedVector2Array(474, 58, 474, 10, 486, 10, 486, 58, 794, 58, 794, 10, 806, 10, 806, 58, 934, 58, 934, 134, 806, 134, 794, 134, 806, 150, 794, 150, 486, 134, 474, 134, 486, 150, 474, 150, 166, 58, 166, 134, 166, 150, 154, 150, 154, 134, 154, 58, 26, 134, 26, 58, 166, 10, 154, 10)
|
||||
|
|
@ -23,6 +23,7 @@ process_mode = 1
|
|||
script = ExtResource("1_5bd7y")
|
||||
RoomResource = ExtResource("2_5bd7y")
|
||||
DoorPrefab = ExtResource("3_4pnhf")
|
||||
VerticalDoorPrefab = ExtResource("4_5bd7y")
|
||||
WallPrefab = ExtResource("4_1w61p")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
|
@ -55,53 +56,10 @@ metadata/_edit_lock_ = true
|
|||
position = Vector2(57, 67)
|
||||
|
||||
[node name="RogueliteEnemySpawner2" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(88, 126)
|
||||
position = Vector2(373, 75)
|
||||
|
||||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(266, 122)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("7_d57gj")
|
||||
|
||||
[node name="North2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(479.257, 20.6745)
|
||||
script = ExtResource("7_d57gj")
|
||||
WallIndex = 1
|
||||
|
||||
[node name="North3" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(794.686, 18.3888)
|
||||
script = ExtResource("7_d57gj")
|
||||
WallIndex = 2
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159.196, 149.348)
|
||||
script = ExtResource("7_d57gj")
|
||||
Direction = 1
|
||||
|
||||
[node name="South2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(479.86, 149.81)
|
||||
script = ExtResource("7_d57gj")
|
||||
Direction = 1
|
||||
WallIndex = 1
|
||||
|
||||
[node name="South3" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(798.847, 148.522)
|
||||
script = ExtResource("7_d57gj")
|
||||
Direction = 1
|
||||
WallIndex = 2
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(953, 91)
|
||||
script = ExtResource("7_d57gj")
|
||||
Direction = 2
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("7_d57gj")
|
||||
Direction = 3
|
||||
position = Vector2(739, 101)
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_4lag8"]
|
||||
[ext_resource type="Resource" uid="uid://ryfk7g1wqypk" path="res://Resources/RogueliteMaps/TestRGMapLong.tres" id="2_4lag8"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_112g0"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_4lag8"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_wcv20"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_upf1e"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_kwstq"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="7_f6crt"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
vertices = PackedVector2Array(166, 58, 294, 58, 294, 294, 166, 294, 166, 310, 154, 310, 154, 294, 154, 58, 26, 294, 26, 58, 166, 10, 154, 10)
|
||||
|
|
@ -23,6 +23,7 @@ process_mode = 1
|
|||
script = ExtResource("1_4lag8")
|
||||
RoomResource = ExtResource("2_4lag8")
|
||||
DoorPrefab = ExtResource("3_112g0")
|
||||
VerticalDoorPrefab = ExtResource("4_4lag8")
|
||||
WallPrefab = ExtResource("4_wcv20")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
|
@ -60,44 +61,13 @@ position = Vector2(82, 185)
|
|||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(261, 248)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("7_f6crt")
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(158.671, 315.53)
|
||||
script = ExtResource("7_f6crt")
|
||||
Direction = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312, 87)
|
||||
script = ExtResource("7_f6crt")
|
||||
Direction = 2
|
||||
|
||||
[node name="East2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312.752, 247.02)
|
||||
script = ExtResource("7_f6crt")
|
||||
Direction = 2
|
||||
WallIndex = 1
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("7_f6crt")
|
||||
Direction = 3
|
||||
|
||||
[node name="West2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(9.12251, 246.487)
|
||||
script = ExtResource("7_f6crt")
|
||||
Direction = 3
|
||||
WallIndex = 1
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
use_edge_connections = false
|
||||
|
||||
[node name="PlayerEnterDetector" type="Area2D" parent="."]
|
||||
visible = false
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_5fsd2"]
|
||||
[ext_resource type="Resource" uid="uid://cur433g6oevmd" path="res://Resources/RogueliteMaps/RGLongAcidWalk.tres" id="2_5fsd2"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_2dbol"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_5fsd2"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_i3xe1"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_d4ptm"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_56c74"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="7_17auc"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
vertices = PackedVector2Array(166, 58, 198, 58, 198, 70, 182, 70, 182, 218, 278, 218, 278, 262, 262, 262, 198, 406, 198, 454, 166, 454, 166, 470, 154, 470, 154, 454, 122, 454, 122, 406, 218, 378, 90, 406, 90, 378, 218, 262, 58, 262, 58, 218, 138, 218, 138, 70, 122, 70, 122, 58, 154, 58, 154, 10, 166, 10, 262, 406)
|
||||
|
|
@ -23,6 +23,7 @@ process_mode = 1
|
|||
script = ExtResource("1_5fsd2")
|
||||
RoomResource = ExtResource("2_5fsd2")
|
||||
DoorPrefab = ExtResource("3_2dbol")
|
||||
VerticalDoorPrefab = ExtResource("4_5fsd2")
|
||||
WallPrefab = ExtResource("4_i3xe1")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
|
@ -67,17 +68,6 @@ position = Vector2(99, 235)
|
|||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(243, 306)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("7_17auc")
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(160, 480)
|
||||
script = ExtResource("7_17auc")
|
||||
Direction = 1
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_g0xrw"]
|
||||
[ext_resource type="Resource" uid="uid://cmgiqsmujujss" path="res://Resources/RogueliteMaps/TestMapLongX3.tres" id="2_g0xrw"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_5pc34"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_g0xrw"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_keuv2"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_bsrt7"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_mr604"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="7_vcw48"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
vertices = PackedVector2Array(166, 58, 294, 58, 294, 454, 166, 454, 166, 470, 154, 470, 154, 454, 154, 58, 26, 454, 26, 58, 166, 10, 154, 10)
|
||||
|
|
@ -23,6 +23,7 @@ process_mode = 1
|
|||
script = ExtResource("1_g0xrw")
|
||||
RoomResource = ExtResource("2_g0xrw")
|
||||
DoorPrefab = ExtResource("3_5pc34")
|
||||
VerticalDoorPrefab = ExtResource("4_g0xrw")
|
||||
WallPrefab = ExtResource("4_keuv2")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
|
@ -60,39 +61,6 @@ position = Vector2(82, 185)
|
|||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(261, 248)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("7_vcw48")
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(160, 476)
|
||||
script = ExtResource("7_vcw48")
|
||||
Direction = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312, 87)
|
||||
script = ExtResource("7_vcw48")
|
||||
Direction = 2
|
||||
|
||||
[node name="East2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312.752, 247.02)
|
||||
script = ExtResource("7_vcw48")
|
||||
Direction = 2
|
||||
WallIndex = 1
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("7_vcw48")
|
||||
Direction = 3
|
||||
|
||||
[node name="West2" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(9.12251, 246.487)
|
||||
script = ExtResource("7_vcw48")
|
||||
Direction = 3
|
||||
WallIndex = 1
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_h0a4q"]
|
||||
[ext_resource type="Resource" uid="uid://bo4efv7rwowuh" path="res://Resources/RogueliteMaps/SecretRoom1.tres" id="2_h0a4q"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_7u6pf"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_h0a4q"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_ivf8o"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_4wkxe"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_smkbu"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="7_hbkqe"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
vertices = PackedVector2Array(166, 58, 294, 58, 294, 134, 166, 134, 166, 150, 154, 150, 154, 134, 154, 58, 26, 134, 26, 58, 166, 10, 154, 10)
|
||||
|
|
@ -23,6 +23,7 @@ process_mode = 1
|
|||
script = ExtResource("1_h0a4q")
|
||||
RoomResource = ExtResource("2_h0a4q")
|
||||
DoorPrefab = ExtResource("3_7u6pf")
|
||||
VerticalDoorPrefab = ExtResource("4_h0a4q")
|
||||
WallPrefab = ExtResource("4_ivf8o")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
|
@ -51,27 +52,6 @@ metadata/_edit_lock_ = true
|
|||
|
||||
[node name="EnemySpawners" type="Node2D" parent="."]
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("7_hbkqe")
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159.196, 149.348)
|
||||
script = ExtResource("7_hbkqe")
|
||||
Direction = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312, 87)
|
||||
script = ExtResource("7_hbkqe")
|
||||
Direction = 2
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("7_hbkqe")
|
||||
Direction = 3
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_36sk4"]
|
||||
[ext_resource type="Resource" uid="uid://cwtma7mxged8a" path="res://Resources/RogueliteMaps/ShopRoom1.tres" id="2_36sk4"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_as6dh"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_ii5ao"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_r367v"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_o7s04"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_l5c4m"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="7_dwts1"]
|
||||
[ext_resource type="PackedScene" uid="uid://cnhgvn2salyxl" path="res://Scenes/Items/Icicle_Repeater.tscn" id="7_ii5ao"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
|
|
@ -24,6 +24,7 @@ process_mode = 1
|
|||
script = ExtResource("1_36sk4")
|
||||
RoomResource = ExtResource("2_36sk4")
|
||||
DoorPrefab = ExtResource("3_as6dh")
|
||||
VerticalDoorPrefab = ExtResource("4_ii5ao")
|
||||
WallPrefab = ExtResource("4_r367v")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
|
@ -55,27 +56,6 @@ position = Vector2(159, 91)
|
|||
|
||||
[node name="EnemySpawners" type="Node2D" parent="."]
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("7_dwts1")
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159.196, 149.348)
|
||||
script = ExtResource("7_dwts1")
|
||||
Direction = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312, 87)
|
||||
script = ExtResource("7_dwts1")
|
||||
Direction = 2
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("7_dwts1")
|
||||
Direction = 3
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_08gfs"]
|
||||
[ext_resource type="Resource" uid="uid://crqgvauqarfaq" path="res://Resources/RogueliteMaps/TreasureRoom1.tres" id="2_08gfs"]
|
||||
[ext_resource type="PackedScene" uid="uid://l84on3kv2s52" path="res://Scenes/Door_Horizontal.tscn" id="3_aaiyo"]
|
||||
[ext_resource type="PackedScene" uid="uid://bc64lr3vlwchq" path="res://Scenes/Door_Vertical.tscn" id="4_08gfs"]
|
||||
[ext_resource type="PackedScene" uid="uid://b0k2grrc8xp1l" path="res://Scenes/Props/BigTank.tscn" id="4_ofpvy"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_ojht1"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_jf212"]
|
||||
[ext_resource type="Script" uid="uid://ddry5kjj3fr6c" path="res://Scripts/Controllers/DoorMarker.cs" id="7_3ba63"]
|
||||
|
||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_rlq0q"]
|
||||
vertices = PackedVector2Array(166, 58, 294, 58, 294, 134, 166, 134, 166, 150, 154, 150, 154, 134, 154, 58, 26, 134, 26, 58, 166, 10, 154, 10)
|
||||
|
|
@ -23,6 +23,7 @@ process_mode = 1
|
|||
script = ExtResource("1_08gfs")
|
||||
RoomResource = ExtResource("2_08gfs")
|
||||
DoorPrefab = ExtResource("3_aaiyo")
|
||||
VerticalDoorPrefab = ExtResource("4_08gfs")
|
||||
WallPrefab = ExtResource("4_ofpvy")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
|
@ -51,27 +52,6 @@ metadata/_edit_lock_ = true
|
|||
|
||||
[node name="EnemySpawners" type="Node2D" parent="."]
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
||||
[node name="North" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159, 23)
|
||||
script = ExtResource("7_3ba63")
|
||||
|
||||
[node name="South" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(159.196, 149.348)
|
||||
script = ExtResource("7_3ba63")
|
||||
Direction = 1
|
||||
|
||||
[node name="East" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(312, 87)
|
||||
script = ExtResource("7_3ba63")
|
||||
Direction = 2
|
||||
|
||||
[node name="West" type="Marker2D" parent="Doors"]
|
||||
position = Vector2(8.1806, 87.7693)
|
||||
script = ExtResource("7_3ba63")
|
||||
Direction = 3
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
navigation_polygon = SubResource("NavigationPolygon_rlq0q")
|
||||
|
|
|
|||
|
|
@ -1,21 +1,22 @@
|
|||
using Godot;
|
||||
using Cirno.Scripts.Enums;
|
||||
using Godot;
|
||||
|
||||
namespace Cirno.Scripts.Controllers;
|
||||
|
||||
// [Tool]
|
||||
[Tool]
|
||||
public partial class DoorMarker : Marker2D
|
||||
{
|
||||
[Export] public RoomDirection Direction { get; set; } = RoomDirection.North;
|
||||
[Export] public DoorDirections Direction { get; set; } = DoorDirections.North;
|
||||
[Export] public int WallIndex { get; set; } = 0; // Useful if there are multiple along a wall
|
||||
|
||||
public Vector2I GetWorldDirection()
|
||||
{
|
||||
return Direction switch
|
||||
{
|
||||
RoomDirection.North => new Vector2I(0, -1),
|
||||
RoomDirection.South => new Vector2I(0, 1),
|
||||
RoomDirection.East => new Vector2I(1, 0),
|
||||
RoomDirection.West => new Vector2I(-1, 0),
|
||||
DoorDirections.North => new Vector2I(0, -1),
|
||||
DoorDirections.South => new Vector2I(0, 1),
|
||||
DoorDirections.East => new Vector2I(1, 0),
|
||||
DoorDirections.West => new Vector2I(-1, 0),
|
||||
_ => Vector2I.Zero
|
||||
};
|
||||
}
|
||||
|
|
@ -28,11 +29,3 @@ public partial class DoorMarker : Marker2D
|
|||
// DrawString(GetFont("font", "Label"), new Vector2(10, -10), Direction.ToString(), HAlign.Left);
|
||||
// }
|
||||
}
|
||||
|
||||
public enum RoomDirection
|
||||
{
|
||||
North,
|
||||
South,
|
||||
East,
|
||||
West
|
||||
}
|
||||
28
Scripts/Controllers/RogueliteDoorContainer.cs
Normal file
28
Scripts/Controllers/RogueliteDoorContainer.cs
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
using System.Linq;
|
||||
using Godot;
|
||||
|
||||
namespace Cirno.Scripts.Controllers;
|
||||
|
||||
[Tool]
|
||||
public partial class RogueliteDoorContainer : Node2D
|
||||
{
|
||||
[ExportToolButton("Arrange Doors")] public Callable ArrangeDoorsButton => Callable.From(ArrangeDoors);
|
||||
|
||||
public void ArrangeDoors()
|
||||
{
|
||||
var doors = this.GetChildren();
|
||||
|
||||
foreach (var node in doors)
|
||||
{
|
||||
if (node is DoorMarker doorMarker)
|
||||
{
|
||||
GD.Print($"{doorMarker.Name} {doorMarker.Direction} {doorMarker.WallIndex}");
|
||||
}
|
||||
else
|
||||
{
|
||||
GD.Print($"Node was something else: {node}");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
1
Scripts/Controllers/RogueliteDoorContainer.cs.uid
Normal file
1
Scripts/Controllers/RogueliteDoorContainer.cs.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://duokvl71amsqf
|
||||
|
|
@ -10,6 +10,7 @@ using Godot.Collections;
|
|||
|
||||
namespace Cirno.Scripts.Controllers;
|
||||
|
||||
[Tool]
|
||||
public partial class RogueliteRoom : Node2D
|
||||
{
|
||||
[Export] public RogueliteRoomResource RoomResource { get; set; }
|
||||
|
|
@ -18,6 +19,8 @@ public partial class RogueliteRoom : Node2D
|
|||
|
||||
public Vector2I BottomLeft => GridPosition + new Vector2I(0, RoomResource.Size.Y - 1);
|
||||
|
||||
private Vector2 BaseRoomSize => new Vector2(320, 160);
|
||||
|
||||
public Vector2I RandomBottomExit()
|
||||
{
|
||||
return BottomLeft + new Vector2I(GD.RandRange(0, RoomResource.Size.X - 1), 0);
|
||||
|
|
@ -37,6 +40,8 @@ public partial class RogueliteRoom : Node2D
|
|||
}
|
||||
|
||||
[Export] public PackedScene DoorPrefab { get; private set; }
|
||||
|
||||
[Export] public PackedScene VerticalDoorPrefab { get; private set; }
|
||||
[Export] public PackedScene WallPrefab { get; private set; }
|
||||
|
||||
private static readonly Godot.Collections.Dictionary<string, Vector2I> DirectionMap = new()
|
||||
|
|
@ -76,24 +81,68 @@ public partial class RogueliteRoom : Node2D
|
|||
}
|
||||
}
|
||||
|
||||
private List<DoorMarker> GenerateDoors()
|
||||
{
|
||||
List<DoorMarker> doors = [];
|
||||
|
||||
var doorsContainer = new Node2D();
|
||||
this.AddChild(doorsContainer);
|
||||
doorsContainer.Name = "Doors";
|
||||
|
||||
// North
|
||||
for (int i = 0; i < RoomResource.Size.X; i++)
|
||||
{
|
||||
if (RoomResource.HasDoors(DoorDirections.North))
|
||||
{
|
||||
doors.Add(MakeDoorMarker(DoorDirections.North, i));
|
||||
}
|
||||
|
||||
if (RoomResource.HasDoors(DoorDirections.South))
|
||||
{
|
||||
doors.Add(MakeDoorMarker(DoorDirections.South, i));
|
||||
}
|
||||
}
|
||||
|
||||
for (int j = 0; j < RoomResource.Size.Y; j++)
|
||||
{
|
||||
doors.Add(MakeDoorMarker(DoorDirections.East, j));
|
||||
doors.Add(MakeDoorMarker(DoorDirections.West, j));
|
||||
}
|
||||
|
||||
foreach (var door in doors)
|
||||
{
|
||||
doorsContainer.AddChild(door);
|
||||
}
|
||||
|
||||
return doors;
|
||||
}
|
||||
|
||||
private DoorMarker MakeDoorMarker(DoorDirections direction, int wallIndex)
|
||||
{
|
||||
var doorMarker = new DoorMarker();
|
||||
doorMarker.Direction = direction;
|
||||
doorMarker.WallIndex = wallIndex;
|
||||
|
||||
doorMarker.Position = GetDoorPosition(direction, wallIndex);
|
||||
|
||||
return doorMarker;
|
||||
}
|
||||
|
||||
public void HandleDoors(Func<Vector2I, Vector2I, RoomConnection> connectionChecker)
|
||||
{
|
||||
if (!HasNode("Doors")) return;
|
||||
var doorsNode = GetNode("Doors");
|
||||
|
||||
foreach (Node child in doorsNode.GetChildren())
|
||||
var doors = GenerateDoors();
|
||||
|
||||
foreach (DoorMarker marker in doors)
|
||||
{
|
||||
if (child is not DoorMarker marker) continue;
|
||||
|
||||
var baseDir = marker.GetWorldDirection();
|
||||
|
||||
// WallIndex determines the offset *along* the edge of the room
|
||||
Vector2I offset = marker.Direction switch
|
||||
{
|
||||
RoomDirection.North => new Vector2I(marker.WallIndex, 0),
|
||||
RoomDirection.South => new Vector2I(marker.WallIndex, RoomResource.Size.Y - 1),
|
||||
RoomDirection.East => new Vector2I(RoomResource.Size.X - 1, marker.WallIndex),
|
||||
RoomDirection.West => new Vector2I(0, marker.WallIndex),
|
||||
DoorDirections.North => new Vector2I(marker.WallIndex, 0),
|
||||
DoorDirections.South => new Vector2I(marker.WallIndex, RoomResource.Size.Y - 1),
|
||||
DoorDirections.East => new Vector2I(RoomResource.Size.X - 1, marker.WallIndex),
|
||||
DoorDirections.West => new Vector2I(0, marker.WallIndex),
|
||||
_ => Vector2I.Zero
|
||||
};
|
||||
|
||||
|
|
@ -107,7 +156,14 @@ public partial class RogueliteRoom : Node2D
|
|||
|
||||
if (connected)
|
||||
{
|
||||
var door = this.CreateChildOf<Door>(marker, DoorPrefab, marker.GlobalPosition);
|
||||
var door = this.CreateChildOf<Door>(marker, marker.Direction switch
|
||||
{
|
||||
DoorDirections.North => DoorPrefab,
|
||||
DoorDirections.South => DoorPrefab,
|
||||
DoorDirections.East => VerticalDoorPrefab,
|
||||
DoorDirections.West => VerticalDoorPrefab,
|
||||
_ => throw new ArgumentOutOfRangeException()
|
||||
}, marker.GlobalPosition);
|
||||
|
||||
door.State = DoorState.Closed;
|
||||
|
||||
|
|
@ -234,4 +290,53 @@ public partial class RogueliteRoom : Node2D
|
|||
{
|
||||
return $"{GridPosition} {RoomResource}";
|
||||
}
|
||||
|
||||
public Vector2 GetDoorPosition(DoorDirections direction, int wallIndex)
|
||||
{
|
||||
return direction switch
|
||||
{
|
||||
DoorDirections.North => new Vector2((BaseRoomSize.X / 2) + (BaseRoomSize.X * wallIndex), 32),
|
||||
DoorDirections.South => new Vector2((BaseRoomSize.X / 2) + (BaseRoomSize.X * wallIndex),
|
||||
((BaseRoomSize.Y) * RoomResource.Size.Y) +2 ),
|
||||
DoorDirections.East => new Vector2((BaseRoomSize.X * RoomResource.Size.X) - 12, (BaseRoomSize.Y / 2) + (BaseRoomSize.Y * wallIndex) - 8),
|
||||
DoorDirections.West => new Vector2(12, (BaseRoomSize.Y / 2) + (BaseRoomSize.Y * wallIndex) - 8),
|
||||
_ => Vector2.Zero
|
||||
};
|
||||
}
|
||||
|
||||
// [ExportToolButton("Arrange Doors")] public Callable ArrangeDoorsButton => Callable.From(ArrangeDoors);
|
||||
|
||||
public void ArrangeDoors()
|
||||
{
|
||||
var doorNode = this.GetNode("Doors");
|
||||
|
||||
var doors = doorNode.GetChildren();
|
||||
|
||||
foreach (var node in doors)
|
||||
{
|
||||
if (node is DoorMarker doorMarker)
|
||||
{
|
||||
GD.Print($"{doorMarker.Name} {doorMarker.Direction} {doorMarker.WallIndex}");
|
||||
|
||||
var baseGridSize = new Vector2(320, 160);
|
||||
|
||||
Vector2 doorPosition = doorMarker.Direction switch
|
||||
{
|
||||
DoorDirections.North => new Vector2((baseGridSize.X / 2) + (baseGridSize.X * doorMarker.WallIndex), 32),
|
||||
DoorDirections.South => new Vector2((baseGridSize.X / 2) + (baseGridSize.X * doorMarker.WallIndex),
|
||||
((baseGridSize.Y) * RoomResource.Size.Y) +2 ),
|
||||
DoorDirections.East => doorMarker.Position,
|
||||
DoorDirections.West => doorMarker.Position,
|
||||
_ => doorMarker.Position
|
||||
};
|
||||
|
||||
doorMarker.Position = doorPosition;
|
||||
}
|
||||
else
|
||||
{
|
||||
GD.Print($"Node was something else: {node}");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@ using Godot.Collections;
|
|||
namespace Cirno.Scripts.Resources.Roguelite;
|
||||
|
||||
[GlobalClass]
|
||||
[Tool]
|
||||
public partial class RogueliteRoomResource : Resource
|
||||
{
|
||||
[Export] public StringName RoomName { get; set; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue