diff --git a/DungeonShooting_Godot/addons/dungeonShooting_plugin/Automation.cs b/DungeonShooting_Godot/addons/dungeonShooting_plugin/Automation.cs
index c98af3c..1e7cd13 100644
--- a/DungeonShooting_Godot/addons/dungeonShooting_plugin/Automation.cs
+++ b/DungeonShooting_Godot/addons/dungeonShooting_plugin/Automation.cs
@@ -1,6 +1,9 @@
#if TOOLS
+using System;
+using System.Collections.Generic;
using System.IO;
using System.Linq;
+using System.Text.Json;
using System.Text.RegularExpressions;
using Godot;
using File = System.IO.File;
@@ -22,7 +25,9 @@
private string resultStr = "";
- //更新 ResourcePath
+ ///
+ /// 更新 ResourcePath
+ ///
private void _on_Button_pressed()
{
resultStr = "/// \n" +
@@ -56,6 +61,87 @@
GD.Print("ResourcePath.cs 写出完成!");
}
+ ///
+ /// 重新打包房间配置
+ ///
+ private void _on_Button2_pressed()
+ {
+ //地图路径
+ var tileDir = DungeonRoomTemplate.RoomTileDir;
+ //地图描述数据路径
+ var tileDataDir = DungeonRoomTemplate.RoomTileDataDir;
+
+ var tileDirInfo = new DirectoryInfo(tileDir);
+ var tileDataDirInfo = new DirectoryInfo(tileDataDir);
+
+ //所有地图列表
+ var mapList = new HashSet();
+
+ //收集所有名称
+ var fileDataInfos = tileDataDirInfo.GetFiles();
+ foreach (var fileInfo in fileDataInfos)
+ {
+ mapList.Add(RemoveExtension(fileInfo.Name));
+ }
+ //收集所有名称
+ var fileInfos = tileDirInfo.GetFiles();
+ foreach (var fileInfo in fileInfos)
+ {
+ if (fileInfo.Extension == ".tscn")
+ {
+ mapList.Add(RemoveExtension(fileInfo.Name));
+ }
+ }
+
+ //剔除多余的 tile.json
+ var arrays = mapList.ToArray();
+ foreach (var item in arrays)
+ {
+ if (!File.Exists(tileDir + item + ".tscn"))
+ {
+ mapList.Remove(item);
+ }
+ }
+
+ //手动生成缺失的 tile.json
+ foreach (var item in mapList)
+ {
+ if (!File.Exists(tileDataDir + item + ".json"))
+ {
+ var tscnName = tileDir + item + ".tscn";
+ var packedScene = ResourceManager.Load(tscnName);
+ if (packedScene != null)
+ {
+ var dungeonRoomTemplate = packedScene.Instantiate();
+ DungeonRoomTemplate.SaveConfig(new List(), DungeonRoomTemplate.CalcTileRange(dungeonRoomTemplate), item);
+ dungeonRoomTemplate.QueueFree();
+ }
+ }
+ }
+
+ var list = new List();
+ //整合操作
+ foreach (var item in mapList)
+ {
+ var configPath = tileDataDir + item + ".json";
+ var configText = File.ReadAllText(configPath);
+ var roomInfo = JsonSerializer.Deserialize(configText);
+ var split = new DungeonRoomSplit();
+ split.ResourcePath = ToResPath(tileDir + item + ".tscn");
+ split.ConfigPath = ToResPath(configPath);
+ split.RoomInfo = roomInfo;
+ list.Add(split);
+ }
+
+ //写出配置
+ var config = new JsonSerializerOptions();
+ config.WriteIndented = true;
+ var text = JsonSerializer.Serialize(list, config);
+ File.WriteAllText(DungeonRoomTemplate.RoomTileConfigFile, text);
+
+ GD.Print("地牢房间配置, 重新打包完成!");
+ }
+
private void EachDir(DirectoryInfo directoryInfos)
{
var fileInfos = directoryInfos.GetFiles();
@@ -84,5 +170,23 @@
resultStr += $" public const string {field} = \"{resPath}\";\n";
}
}
+
+ private string ToResPath(string path)
+ {
+ var field = path.Substring(currDir.Length + 1);
+ field = field.Replace("\\", "/");
+ return "res://" + field;
+ }
+
+ private string RemoveExtension(string name)
+ {
+ var index = name.LastIndexOf(".", StringComparison.Ordinal);
+ if (index >= 0)
+ {
+ return name.Substring(0, index);
+ }
+
+ return name;
+ }
}
#endif
\ No newline at end of file
diff --git a/DungeonShooting_Godot/addons/dungeonShooting_plugin/Automation.tscn b/DungeonShooting_Godot/addons/dungeonShooting_plugin/Automation.tscn
index 89e7ef5..66d1942 100644
--- a/DungeonShooting_Godot/addons/dungeonShooting_plugin/Automation.tscn
+++ b/DungeonShooting_Godot/addons/dungeonShooting_plugin/Automation.tscn
@@ -1,34 +1,46 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=2 format=3 uid="uid://bygnukrvvm1vi"]
-[ext_resource path="res://addons/dungeonShooting_plugin/Automation.cs" type="Script" id=1]
+[ext_resource type="Script" path="res://addons/dungeonShooting_plugin/Automation.cs" id="1"]
[node name="Automation" type="Control"]
+layout_mode = 3
+anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-script = ExtResource( 1 )
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1")
[node name="ScrollContainer" type="ScrollContainer" parent="."]
+layout_mode = 0
anchor_right = 1.0
anchor_bottom = 1.0
[node name="VBoxContainer" type="VBoxContainer" parent="ScrollContainer"]
-offset_right = 1920.0
-offset_bottom = 35.0
+layout_mode = 2
size_flags_horizontal = 3
[node name="HBoxContainer" type="HBoxContainer" parent="ScrollContainer/VBoxContainer"]
-offset_right = 1920.0
-offset_bottom = 35.0
+layout_mode = 2
[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/HBoxContainer"]
-offset_right = 158.0
-offset_bottom = 35.0
+layout_mode = 2
text = "ResourcePath.cs"
[node name="Button" type="Button" parent="ScrollContainer/VBoxContainer/HBoxContainer"]
-offset_left = 162.0
-offset_right = 246.0
-offset_bottom = 35.0
+layout_mode = 2
text = "重新生成"
+[node name="HBoxContainer2" type="HBoxContainer" parent="ScrollContainer/VBoxContainer"]
+layout_mode = 2
+
+[node name="Label" type="Label" parent="ScrollContainer/VBoxContainer/HBoxContainer2"]
+layout_mode = 2
+text = "地牢房间配置"
+
+[node name="Button" type="Button" parent="ScrollContainer/VBoxContainer/HBoxContainer2"]
+layout_mode = 2
+text = "重新打包"
+
[connection signal="pressed" from="ScrollContainer/VBoxContainer/HBoxContainer/Button" to="." method="_on_Button_pressed"]
+[connection signal="pressed" from="ScrollContainer/VBoxContainer/HBoxContainer2/Button" to="." method="_on_Button2_pressed"]
diff --git a/DungeonShooting_Godot/resource/map/Room1.tscn b/DungeonShooting_Godot/resource/map/Room1.tscn
deleted file mode 100644
index dbae73e..0000000
--- a/DungeonShooting_Godot/resource/map/Room1.tscn
+++ /dev/null
@@ -1,10 +0,0 @@
-[gd_scene load_steps=3 format=3 uid="uid://dogcomcoap03x"]
-
-[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_4enkp"]
-[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="2_anyqk"]
-
-[node name="Room1" type="TileMap"]
-tile_set = ExtResource("1_4enkp")
-format = 2
-layer_0/tile_data = PackedInt32Array(1048605, 0, 8, 983069, 0, 8, 917533, 0, 8, 851997, 0, 8, 786461, 0, 8, 720925, 0, 8, 655389, 0, 8, 589853, 0, 8, 524317, 0, 8, 458781, 0, 8, 393245, 0, 8, 327709, 0, 8, 262173, 0, 8, 196637, 0, 8, 131101, 0, 8, 65565, 0, 8, 29, 0, 8, 1048604, 0, 8, 983068, 0, 8, 917532, 0, 8, 851996, 0, 8, 786460, 0, 8, 720924, 0, 8, 655388, 0, 8, 589852, 0, 8, 524316, 0, 8, 458780, 0, 8, 393244, 0, 8, 327708, 0, 8, 262172, 0, 8, 196636, 0, 8, 131100, 0, 8, 65564, 0, 8, 28, 0, 8, 1048603, 0, 8, 524315, 0, 8, 458779, 0, 8, 393243, 0, 8, 327707, 0, 8, 262171, 0, 8, 196635, 0, 8, 131099, 0, 8, 65563, 0, 8, 27, 0, 8, 1048602, 0, 8, 524314, 0, 8, 458778, 0, 8, 393242, 0, 8, 327706, 0, 8, 262170, 0, 8, 196634, 0, 8, 131098, 0, 8, 65562, 0, 8, 26, 0, 8, 1048601, 0, 8, 524313, 0, 8, 458777, 0, 8, 393241, 0, 8, 327705, 0, 8, 262169, 0, 8, 196633, 0, 8, 131097, 0, 8, 65561, 0, 8, 25, 0, 8, 1048600, 0, 8, 524312, 0, 8, 458776, 0, 8, 393240, 0, 8, 327704, 0, 8, 262168, 0, 8, 196632, 0, 8, 131096, 0, 8, 65560, 0, 8, 24, 0, 8, 1048599, 0, 8, 65559, 0, 8, 23, 0, 8, 1048598, 0, 8, 65558, 0, 8, 22, 0, 8, 1048597, 0, 8, 65557, 0, 8, 21, 0, 8, 1048596, 0, 8, 65556, 0, 8, 20, 0, 8, 1048595, 0, 8, 983059, 0, 8, 917523, 0, 8, 851987, 0, 8, 65555, 0, 8, 19, 0, 8, 1048594, 0, 8, 983058, 0, 8, 917522, 0, 8, 851986, 0, 8, 65554, 0, 8, 18, 0, 8, 1048593, 0, 8, 983057, 0, 8, 917521, 0, 8, 851985, 0, 8, 65553, 0, 8, 17, 0, 8, 1048592, 0, 8, 983056, 0, 8, 917520, 0, 8, 851984, 0, 8, 65552, 0, 8, 16, 0, 8, 1048591, 0, 8, 983055, 0, 8, 917519, 0, 8, 851983, 0, 8, 262159, 0, 8, 196623, 0, 8, 131087, 0, 8, 65551, 0, 8, 15, 0, 8, 1048590, 0, 8, 983054, 0, 8, 917518, 0, 8, 851982, 0, 8, 262158, 0, 8, 196622, 0, 8, 131086, 0, 8, 65550, 0, 8, 14, 0, 8, 1048589, 0, 8, 983053, 0, 8, 917517, 0, 8, 851981, 0, 8, 262157, 0, 8, 196621, 0, 8, 131085, 0, 8, 65549, 0, 8, 13, 0, 8, 1048588, 0, 8, 983052, 0, 8, 917516, 0, 8, 851980, 0, 8, 262156, 0, 8, 196620, 0, 8, 131084, 0, 8, 65548, 0, 8, 12, 0, 8, 1048587, 0, 8, 983051, 0, 8, 917515, 0, 8, 851979, 0, 8, 262155, 0, 8, 196619, 0, 8, 131083, 0, 8, 65547, 0, 8, 11, 0, 8, 1048586, 0, 8, 983050, 0, 8, 917514, 0, 8, 851978, 0, 8, 196618, 0, 8, 131082, 0, 8, 65546, 0, 8, 10, 0, 8, 1048585, 0, 8, 983049, 0, 8, 917513, 0, 8, 851977, 0, 8, 196617, 0, 8, 131081, 0, 8, 65545, 0, 8, 9, 0, 8, 1048584, 0, 8, 983048, 0, 8, 917512, 0, 8, 851976, 0, 8, 786440, 0, 8, 720904, 0, 8, 655368, 0, 8, 196616, 0, 8, 131080, 0, 8, 65544, 0, 8, 8, 0, 8, 1048583, 0, 8, 983047, 0, 8, 917511, 0, 8, 851975, 0, 8, 786439, 0, 8, 720903, 0, 8, 655367, 0, 8, 196615, 0, 8, 131079, 0, 8, 65543, 0, 8, 7, 0, 8, 1048582, 0, 8, 983046, 0, 8, 917510, 0, 8, 851974, 0, 8, 786438, 0, 8, 720902, 0, 8, 655366, 0, 8, 196614, 0, 8, 131078, 0, 8, 65542, 0, 8, 6, 0, 8, 1048581, 0, 8, 983045, 0, 8, 917509, 0, 8, 851973, 0, 8, 786437, 0, 8, 720901, 0, 8, 655365, 0, 8, 196613, 0, 8, 131077, 0, 8, 65541, 0, 8, 5, 0, 8, 1048580, 0, 8, 983044, 0, 8, 917508, 0, 8, 851972, 0, 8, 786436, 0, 8, 720900, 0, 8, 655364, 0, 8, 196612, 0, 8, 131076, 0, 8, 65540, 0, 8, 4, 0, 8, 1048579, 0, 8, 983043, 0, 8, 917507, 0, 8, 851971, 0, 8, 786435, 0, 8, 720899, 0, 8, 655363, 0, 8, 589827, 0, 8, 524291, 0, 8, 458755, 0, 8, 393219, 0, 8, 327683, 0, 8, 262147, 0, 8, 196611, 0, 8, 131075, 0, 8, 65539, 0, 8, 3, 0, 8, 1048578, 0, 8, 983042, 0, 8, 917506, 0, 8, 851970, 0, 8, 786434, 0, 8, 720898, 0, 8, 655362, 0, 8, 589826, 0, 8, 524290, 0, 8, 458754, 0, 8, 393218, 0, 8, 327682, 0, 8, 262146, 0, 8, 196610, 0, 8, 131074, 0, 8, 65538, 0, 8, 2, 0, 8, 1048577, 0, 8, 983041, 0, 8, 917505, 0, 8, 851969, 0, 8, 786433, 0, 8, 720897, 0, 8, 655361, 0, 8, 589825, 0, 8, 524289, 0, 8, 458753, 0, 8, 393217, 0, 8, 327681, 0, 8, 262145, 0, 8, 196609, 0, 8, 131073, 0, 8, 65537, 0, 8, 1, 0, 8, 524311, 0, 8, 458775, 0, 8, 393239, 0, 8, 524310, 0, 8, 458774, 0, 8, 393238, 0, 8, 524309, 0, 8, 458773, 0, 8, 393237, 0, 8, 524308, 0, 8, 458772, 0, 8, 393236, 0, 8, 786451, 0, 8, 720915, 0, 8, 655379, 0, 8, 589843, 0, 8, 524307, 0, 8, 458771, 0, 8, 393235, 0, 8, 786450, 0, 8, 720914, 0, 8, 655378, 0, 8, 589842, 0, 8, 524306, 0, 8, 458770, 0, 8, 393234, 0, 8, 786449, 0, 8, 720913, 0, 8, 655377, 0, 8, 589841, 0, 8, 524305, 0, 8, 458769, 0, 8, 393233, 0, 8, 786448, 0, 8, 720912, 0, 8, 655376, 0, 8, 589840, 0, 8, 524304, 0, 8, 458768, 0, 8, 393232, 0, 8, 786447, 0, 8, 720911, 0, 8, 655375, 0, 8, 589839, 0, 8, 524303, 0, 8, 458767, 0, 8, 393231, 0, 8, 327695, 0, 8, 786446, 0, 8, 720910, 0, 8, 655374, 0, 8, 589838, 0, 8, 524302, 0, 8, 458766, 0, 8, 393230, 0, 8, 327694, 0, 8, 786445, 0, 8, 720909, 0, 8, 655373, 0, 8, 589837, 0, 8, 524301, 0, 8, 458765, 0, 8, 393229, 0, 8, 327693, 0, 8, 786444, 0, 8, 720908, 0, 8, 655372, 0, 8, 589836, 0, 8, 524300, 0, 8, 458764, 0, 8, 393228, 0, 8, 327692, 0, 8, 786443, 0, 8, 720907, 0, 8, 655371, 0, 8, 589835, 0, 8, 524299, 0, 8, 458763, 0, 8, 393227, 0, 8, 327691, 0, 8, 786442, 0, 8, 720906, 0, 8, 655370, 0, 8, 786441, 0, 8, 720905, 0, 8, 655369, 0, 8, 262149, 131072, 2, 262148, 65536, 2, 262150, 131072, 2, 262151, 131072, 2, 262152, 131072, 2, 262153, 131072, 2, 262154, 196608, 2, 327690, 196608, 3, 393226, 196608, 3, 458762, 196608, 3, 524298, 196608, 3, 589834, 196608, 7, 589833, 65536, 7, 589832, 0, 8, 589831, 0, 8, 589830, 0, 8, 524294, 0, 8, 524295, 0, 8, 524296, 0, 8, 589829, 196608, 7, 524293, 196608, 3, 589828, 65536, 7, 524292, 65536, 3, 458756, 65536, 3, 393220, 65536, 3, 327684, 65536, 3, 524297, 65536, 3, 458757, 196608, 3, 458758, 0, 8, 458759, 0, 8, 393221, 196608, 4, 393222, 131072, 7, 393223, 131072, 7, 458760, 0, 8, 393224, 131072, 7, 458761, 65536, 3, 393225, 65536, 4, 327696, 65536, 7, 327697, 131072, 7, 327698, 131072, 7, 327699, 131072, 7, 327700, 131072, 7, 327701, 131072, 7, 327702, 131072, 7, 327703, 196608, 7, 262167, 196608, 3, 196631, 196608, 3, 131095, 196608, 2, 131094, 131072, 2, 131093, 131072, 2, 131092, 131072, 2, 131091, 131072, 2, 131090, 131072, 2, 131089, 131072, 2, 131088, 65536, 2, 196624, 65536, 3, 262160, 65536, 3, 589844, 65536, 2, 655380, 65536, 3, 720916, 65536, 3, 786452, 65536, 3, 917531, 196608, 7, 851995, 196608, 3, 786459, 196608, 3, 720923, 196608, 3, 655387, 196608, 3, 589851, 196608, 2, 589850, 65536, 2, 589849, 0, 8, 589848, 0, 8, 589847, 0, 8, 589846, 0, 8, 589845, 196608, 2, 655383, 0, 8, 655382, 0, 8, 655381, 196608, 3, 720919, 0, 8, 720918, 0, 8, 720917, 196608, 3, 786455, 0, 8, 786454, 0, 8, 786453, 196608, 3, 786456, 0, 8, 720920, 0, 8, 786457, 0, 8, 720921, 0, 8, 786458, 65536, 3, 720922, 65536, 3, 655384, 0, 8, 655385, 0, 8, 655386, 65536, 3, 851993, 131072, 2, 851992, 131072, 2, 851994, 851968, 2, 851988, 65536, 3, 917524, 65536, 7, 983066, 0, 8, 983067, 0, 8, 983065, 0, 8, 983064, 0, 8, 983063, 0, 8, 983062, 0, 8, 983061, 0, 8, 983060, 0, 8, 851991, 131072, 2, 851990, 131072, 2, 851989, 720896, 2, 917525, 131072, 7, 917526, 131072, 7, 917527, 131072, 7, 917528, 131072, 7, 917529, 131072, 7, 917530, 131072, 7, 1114141, 131072, 2, 0, 196608, 3, 65536, 196608, 3, 131072, 196608, 3, 196608, 196608, 3, 262144, 196608, 3, 327680, 196608, 3, 393216, 196608, 3, 458752, 196608, 3, 524288, 196608, 3, 589824, 196608, 3, 655360, 196608, 3, 720896, 196608, 3, 786432, 196608, 3, 851968, 196608, 3, 917504, 196608, 3, 983040, 196608, 3, 1048576, 196608, 3, 1114114, 131072, 2, 1114113, 131072, 2, 1114112, 720896, 2, 30, 65536, 3, 65566, 65536, 3, 131102, 65536, 3, 196638, 65536, 3, 262174, 65536, 3, 327710, 65536, 3, 393246, 65536, 3, 458782, 65536, 3, 524318, 65536, 3, 589854, 65536, 3, 655390, 65536, 3, 720926, 65536, 3, 786462, 65536, 3, 851998, 65536, 3, 917534, 65536, 3, 983070, 65536, 3, 1048606, 65536, 3, 1114142, 851968, 2, 1114140, 131072, 2, 1114115, 131072, 2, 1114116, 131072, 2, 1114117, 131072, 2, 1114118, 131072, 2, 1114119, 131072, 2, 1114120, 131072, 2, 1114121, 131072, 2, 1114122, 131072, 2, 1114123, 131072, 2, 1114124, 131072, 2, 1114125, 131072, 2, 1114126, 131072, 2, 1114127, 131072, 2, 1114128, 131072, 2, 1114129, 131072, 2, 1114130, 131072, 2, 1114131, 131072, 2, 1114132, 131072, 2, 1114133, 131072, 2, 1114134, 131072, 2, 1114135, 131072, 2, 1114136, 131072, 2, 1114137, 131072, 2, 1114138, 131072, 2, 1114139, 131072, 2, -65536, 196608, 4, -65535, 131072, 7, -65534, 131072, 7, -65533, 131072, 7, -65532, 131072, 7, -65531, 131072, 7, -65530, 131072, 7, -65529, 131072, 7, -65528, 131072, 7, -65527, 131072, 7, -65526, 131072, 7, -65525, 131072, 7, -65524, 131072, 7, -65523, 131072, 7, -65522, 131072, 7, -65521, 131072, 7, -65520, 131072, 7, -65519, 131072, 7, -65518, 131072, 7, -65517, 131072, 7, -65516, 131072, 7, -65515, 131072, 7, -65514, 131072, 7, -65513, 131072, 7, -65512, 131072, 7, -65511, 131072, 7, -65510, 131072, 7, -65509, 131072, 7, -65508, 131072, 7, -65507, 131072, 7, -65506, 65536, 4)
-script = ExtResource("2_anyqk")
diff --git a/DungeonShooting_Godot/resource/map/Room2.tscn b/DungeonShooting_Godot/resource/map/Room2.tscn
deleted file mode 100644
index 5a86c8f..0000000
--- a/DungeonShooting_Godot/resource/map/Room2.tscn
+++ /dev/null
@@ -1,10 +0,0 @@
-[gd_scene load_steps=3 format=3 uid="uid://da2ujaw1xtq18"]
-
-[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_cli1n"]
-[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="2_gpwui"]
-
-[node name="Room2" type="TileMap"]
-tile_set = ExtResource("1_cli1n")
-format = 2
-layer_0/tile_data = PackedInt32Array(524300, 0, 8, 458764, 0, 8, 393228, 0, 8, 327692, 0, 8, 262156, 0, 8, 196620, 0, 8, 131084, 0, 8, 65548, 0, 8, 12, 0, 8, -65524, 0, 8, -131060, 0, 8, 524299, 0, 8, 458763, 0, 8, 393227, 0, 8, 327691, 0, 8, 262155, 0, 8, 196619, 0, 8, 131083, 0, 8, 65547, 0, 8, 11, 0, 8, -65525, 0, 8, -131061, 0, 8, 524298, 0, 8, -65526, 0, 8, -131062, 0, 8, 524297, 0, 8, -65527, 0, 8, -131063, 0, 8, 524296, 0, 8, -65528, 0, 8, -131064, 0, 8, 524295, 0, 8, -65529, 0, 8, -131065, 0, 8, 524294, 0, 8, -65530, 0, 8, -131066, 0, 8, 524293, 0, 8, -65531, 0, 8, -131067, 0, 8, 524292, 0, 8, -65532, 0, 8, -131068, 0, 8, 524291, 0, 8, 458755, 0, 8, -65533, 0, 8, -131069, 0, 8, 524290, 0, 8, 458754, 0, 8, -65534, 0, 8, -131070, 0, 8, 524289, 0, 8, -65535, 0, 8, -131071, 0, 8, 524288, 0, 8, -65536, 0, 8, -131072, 0, 8, 589823, 0, 8, -1, 0, 8, -65537, 0, 8, 589822, 0, 8, 524286, 0, 8, 458750, 0, 8, 393214, 0, 8, 327678, 0, 8, 262142, 0, 8, 196606, 0, 8, 131070, 0, 8, 65534, 0, 8, -2, 0, 8, -65538, 0, 8, 589821, 0, 8, 524285, 0, 8, 458749, 0, 8, 393213, 0, 8, 327677, 0, 8, 262141, 0, 8, 196605, 0, 8, 131069, 0, 8, 65533, 0, 8, -3, 0, 8, -65539, 0, 8, -4, 196608, 3, -65540, 196608, 3, -131076, 196608, 4, -131075, 131072, 7, -131074, 131072, 7, 65532, 196608, 3, 131068, 196608, 3, 196604, 196608, 3, 262140, 196608, 3, 327676, 196608, 3, 393212, 196608, 3, 458748, 196608, 3, 524284, 196608, 3, 589820, 196608, 3, 655358, 0, 8, 655357, 0, 8, 655356, 196608, 3, -131073, 131072, 7, 655359, 0, 8, -196608, 131072, 7, 589824, 0, 8, -196607, 131072, 7, 589825, 0, 8, -196606, 131072, 7, 589826, 0, 8, -196605, 131072, 7, 589827, 0, 8, -196604, 131072, 7, 589828, 0, 8, -196603, 131072, 7, 589829, 0, 8, -196602, 131072, 7, 589830, 0, 8, -196601, 131072, 7, 589831, 0, 8, -196600, 131072, 7, 589832, 0, 8, -196599, 131072, 7, 589833, 0, 8, -196598, 131072, 7, 589834, 0, 8, -196597, 131072, 7, 589835, 0, 8, -196596, 131072, 7, 589836, 0, 8, -131059, 65536, 3, -65523, 65536, 3, -196595, 65536, 4, 13, 65536, 3, 65549, 65536, 3, 131085, 65536, 3, 196621, 65536, 3, 262157, 65536, 3, 327693, 65536, 3, 393229, 65536, 3, 458765, 65536, 3, 524301, 65536, 3, 589837, 65536, 3, 6, 0, 8, 7, 0, 8, 65543, 0, 8, 65542, 0, 8, 65541, 196608, 3, 5, 196608, 2, 131079, 0, 8, 131078, 0, 8, 131077, 196608, 7, 196615, 0, 8, 196614, 0, 8, 196613, 0, 8, 262151, 0, 8, 262150, 0, 8, 262149, 0, 8, 262148, 0, 8, 196612, 0, 8, 131076, 131072, 7, 262147, 0, 8, 196611, 0, 8, 131075, 131072, 7, 262146, 0, 8, 196610, 0, 8, 131074, 131072, 7, 262145, 196608, 3, 196609, 196608, 3, 131073, 196608, 4, 327683, 0, 8, 327682, 0, 8, 327681, 196608, 3, 393219, 0, 8, 393218, 0, 8, 393215, 65536, 3, 327679, 65536, 3, 262143, 65536, 3, 196607, 65536, 3, 131071, 65536, 3, 65535, 65536, 2, 0, 131072, 2, 1, 131072, 2, 2, 131072, 2, 3, 131072, 2, 4, 131072, 2, 8, 65536, 2, 65544, 65536, 3, 131080, 65536, 3, 196616, 65536, 3, 262152, 65536, 3, 327687, 131072, 2, 327686, 131072, 2, 327685, 131072, 2, 327684, 65536, 2, 327690, 196608, 3, 262154, 196608, 3, 196618, 196608, 3, 131082, 196608, 3, 65546, 196608, 3, 10, 196608, 2, 9, 131072, 2, 720894, 131072, 2, 720893, 131072, 2, 720892, 720896, 2, 720895, 131072, 2, 655360, 131072, 2, 655361, 131072, 2, 655362, 131072, 2, 655363, 131072, 2, 655364, 131072, 2, 655365, 131072, 2, 655366, 131072, 2, 655367, 131072, 2, 655368, 131072, 2, 655369, 131072, 2, 655370, 131072, 2, 655371, 131072, 2, 655372, 131072, 2, 655373, 851968, 2, 458751, 65536, 3, 393220, 65536, 3, 458761, 131072, 7, 458762, 196608, 7, 458760, 131072, 7, 458759, 131072, 7, 458758, 131072, 7, 458757, 131072, 7, 458756, 131072, 7, 393226, 196608, 3, 327688, 851968, 2, 458753, 196608, 7, 393217, 196608, 3, 458752, 131072, 7, 524287, 65536, 7)
-script = ExtResource("2_gpwui")
diff --git a/DungeonShooting_Godot/resource/map/Room3.tscn b/DungeonShooting_Godot/resource/map/Room3.tscn
deleted file mode 100644
index 2e4a3fb..0000000
--- a/DungeonShooting_Godot/resource/map/Room3.tscn
+++ /dev/null
@@ -1,10 +0,0 @@
-[gd_scene load_steps=3 format=3 uid="uid://c83qc7utiy3pd"]
-
-[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="1_n5qca"]
-[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_ngr66"]
-
-[node name="Room3" type="TileMap"]
-tile_set = ExtResource("1_ngr66")
-format = 2
-layer_0/tile_data = PackedInt32Array(1048594, 0, 8, 983058, 0, 8, 917522, 0, 8, 851986, 0, 8, 786450, 0, 8, 720914, 0, 8, 655378, 0, 8, 589842, 0, 8, 524306, 0, 8, 458770, 0, 8, 393234, 0, 8, 327698, 0, 8, 262162, 0, 8, 196626, 0, 8, 131090, 0, 8, 65554, 0, 8, 18, 0, 8, 1048593, 0, 8, 983057, 0, 8, 917521, 0, 8, 851985, 0, 8, 786449, 0, 8, 720913, 0, 8, 655377, 0, 8, 589841, 0, 8, 524305, 0, 8, 458769, 0, 8, 393233, 0, 8, 327697, 0, 8, 262161, 0, 8, 196625, 0, 8, 131089, 0, 8, 65553, 0, 8, 17, 0, 8, 1048592, 0, 8, 983056, 0, 8, 917520, 0, 8, 851984, 0, 8, 786448, 0, 8, 720912, 0, 8, 655376, 0, 8, 589840, 0, 8, 524304, 0, 8, 458768, 0, 8, 393232, 0, 8, 327696, 0, 8, 262160, 0, 8, 196624, 0, 8, 131088, 0, 8, 65552, 0, 8, 16, 0, 8, 1048591, 0, 8, 655375, 0, 8, 589839, 0, 8, 524303, 0, 8, 131087, 0, 8, 65551, 0, 8, 15, 0, 8, 1048590, 0, 8, 655374, 0, 8, 589838, 0, 8, 524302, 0, 8, 131086, 0, 8, 65550, 0, 8, 14, 0, 8, 1048589, 0, 8, 655373, 0, 8, 589837, 0, 8, 524301, 0, 8, 131085, 0, 8, 65549, 0, 8, 13, 0, 8, 1048588, 0, 8, 655372, 0, 8, 589836, 0, 8, 131084, 0, 8, 65548, 0, 8, 12, 0, 8, 1048587, 0, 8, 655371, 0, 8, 589835, 0, 8, 131083, 0, 8, 65547, 0, 8, 11, 0, 8, 1048586, 0, 8, 983050, 0, 8, 917514, 0, 8, 851978, 0, 8, 786442, 0, 8, 720906, 0, 8, 655370, 0, 8, 589834, 0, 8, 131082, 0, 8, 65546, 0, 8, 10, 0, 8, 1048585, 0, 8, 983049, 0, 8, 917513, 0, 8, 851977, 0, 8, 786441, 0, 8, 720905, 0, 8, 655369, 0, 8, 589833, 0, 8, 131081, 0, 8, 65545, 0, 8, 9, 0, 8, 1048584, 0, 8, 983048, 0, 8, 917512, 0, 8, 851976, 0, 8, 786440, 0, 8, 720904, 0, 8, 655368, 0, 8, 589832, 0, 8, 131080, 0, 8, 65544, 0, 8, 8, 0, 8, 1048583, 0, 8, 655367, 0, 8, 589831, 0, 8, 65543, 0, 8, 7, 0, 8, 1048582, 0, 8, 655366, 0, 8, 589830, 0, 8, 65542, 0, 8, 6, 0, 8, 1048581, 0, 8, 655365, 0, 8, 589829, 0, 8, 65541, 0, 8, 5, 0, 8, 1048580, 0, 8, 655364, 0, 8, 589828, 0, 8, 65540, 0, 8, 4, 0, 8, 1048579, 0, 8, 655363, 0, 8, 589827, 0, 8, 65539, 0, 8, 3, 0, 8, 1048578, 0, 8, 983042, 0, 8, 917506, 0, 8, 851970, 0, 8, 786434, 0, 8, 720898, 0, 8, 655362, 0, 8, 589826, 0, 8, 131074, 0, 8, 65538, 0, 8, 2, 0, 8, 1048577, 0, 8, 983041, 0, 8, 917505, 0, 8, 851969, 0, 8, 786433, 0, 8, 720897, 0, 8, 655361, 0, 8, 589825, 0, 8, 524289, 0, 8, 458753, 0, 8, 393217, 0, 8, 327681, 0, 8, 262145, 0, 8, 196609, 0, 8, 131073, 0, 8, 65537, 0, 8, 1, 0, 8, 1048576, 0, 8, 983040, 0, 8, 917504, 0, 8, 851968, 0, 8, 786432, 0, 8, 720896, 0, 8, 655360, 0, 8, 589824, 0, 8, 524288, 0, 8, 458752, 0, 8, 393216, 0, 8, 327680, 0, 8, 262144, 0, 8, 196608, 0, 8, 131072, 0, 8, 65536, 0, 8, 0, 0, 8, 131071, 196608, 3, 65535, 196608, 3, -1, 196608, 4, -65536, 131072, 7, -65535, 131072, 7, 196607, 196608, 3, 262143, 196608, 3, 327679, 196608, 3, 393215, 196608, 3, 458751, 196608, 3, 524287, 196608, 3, 589823, 196608, 3, 655359, 196608, 3, 720895, 196608, 3, 786431, 196608, 3, 851967, 196608, 3, 917503, 196608, 3, 983039, 196608, 3, 1048575, 196608, 3, 1114111, 196608, 3, -65534, 131072, 7, -65533, 131072, 7, -65532, 131072, 7, -65531, 131072, 7, -65530, 131072, 7, -65529, 131072, 7, -65528, 131072, 7, -65527, 131072, 7, -65526, 131072, 7, -65525, 131072, 7, -65524, 131072, 7, -65523, 131072, 7, -65522, 131072, 7, -65521, 131072, 7, -65520, 131072, 7, -65519, 131072, 7, -65518, 131072, 7, -65517, 65536, 4, 524300, 0, 8, 524299, 0, 8, 524298, 0, 8, 458762, 0, 8, 393226, 0, 8, 327690, 0, 8, 262154, 0, 8, 196618, 0, 8, 524297, 0, 8, 458761, 0, 8, 393225, 0, 8, 327689, 0, 8, 262153, 0, 8, 196617, 0, 8, 524296, 0, 8, 458760, 0, 8, 393224, 0, 8, 327688, 0, 8, 262152, 0, 8, 196616, 0, 8, 524295, 0, 8, 524294, 0, 8, 524293, 0, 8, 524292, 0, 8, 524291, 0, 8, 524290, 0, 8, 458754, 0, 8, 393218, 0, 8, 327682, 0, 8, 262146, 0, 8, 196610, 0, 8, 131079, 0, 8, 131078, 0, 8, 131077, 0, 8, 131076, 0, 8, 131075, 0, 8, 1179666, 0, 8, 1114130, 0, 8, 1179665, 0, 8, 1114129, 0, 8, 1179664, 0, 8, 1114128, 0, 8, 1179663, 0, 8, 1114127, 0, 8, 1179662, 0, 8, 1114126, 0, 8, 1179661, 0, 8, 1114125, 0, 8, 1179660, 0, 8, 1114124, 0, 8, 1179659, 0, 8, 1114123, 0, 8, 1179658, 0, 8, 1114122, 0, 8, 1179657, 0, 8, 1114121, 0, 8, 1179656, 0, 8, 1114120, 0, 8, 1179655, 0, 8, 1114119, 0, 8, 1179654, 0, 8, 1114118, 0, 8, 1179653, 0, 8, 1114117, 0, 8, 1179652, 0, 8, 1114116, 0, 8, 1179651, 0, 8, 1114115, 0, 8, 1179650, 0, 8, 1114114, 0, 8, 1179649, 0, 8, 1114113, 0, 8, 1179648, 0, 8, 1114112, 0, 8, 1179647, 196608, 3, 1245183, 196608, 3, 983043, 65536, 7, 983044, 131072, 7, 983045, 131072, 7, 983046, 131072, 7, 983047, 196608, 7, 720899, 65536, 2, 786435, 65536, 3, 851971, 65536, 3, 917507, 65536, 3, 196611, 65536, 2, 262147, 65536, 3, 327683, 65536, 3, 393219, 65536, 3, 458755, 65536, 7, 262151, 196608, 3, 196615, 196608, 2, 327687, 196608, 3, 393223, 196608, 3, 458759, 196608, 7, 196612, 131072, 2, 196613, 131072, 2, 196614, 131072, 2, 458756, 131072, 7, 458757, 131072, 7, 458758, 131072, 7, 720900, 131072, 2, 720901, 131072, 2, 720902, 131072, 2, 720903, 196608, 2, 786439, 196608, 3, 851975, 196608, 3, 917511, 196608, 3, 1245185, 131072, 2, 1245184, 131072, 2, 1310719, 720896, 2, 1245186, 131072, 2, 1245187, 131072, 2, 1245188, 131072, 2, 1245189, 131072, 2, 1245190, 131072, 2, 1245191, 131072, 2, 1245192, 131072, 2, 1245193, 131072, 2, 1245194, 131072, 2, 1245195, 131072, 2, 1245196, 131072, 2, 1245197, 131072, 2, 1245198, 131072, 2, 1245199, 131072, 2, 1245200, 131072, 2, 1245201, 131072, 2, 1245202, 131072, 2, 1245203, 851968, 2, 720907, 65536, 2, 786443, 65536, 3, 851979, 65536, 3, 917515, 65536, 3, 983051, 65536, 7, 196619, 65536, 2, 262155, 65536, 3, 327691, 65536, 3, 393227, 65536, 3, 458763, 65536, 7, 196620, 131072, 2, 196621, 131072, 2, 196622, 131072, 2, 196623, 196608, 2, 262159, 196608, 3, 327695, 196608, 3, 393231, 196608, 3, 458767, 196608, 7, 720911, 196608, 2, 786447, 196608, 3, 851983, 196608, 3, 917519, 196608, 3, 983055, 196608, 7, 458764, 131072, 7, 720908, 131072, 2, 458765, 131072, 7, 720909, 131072, 2, 458766, 131072, 7, 720910, 131072, 2, 983052, 131072, 7, 983053, 131072, 7, 983054, 131072, 7, 19, 65536, 3, 65555, 65536, 3, 131091, 65536, 3, 196627, 65536, 3, 262163, 65536, 3, 327699, 65536, 3, 393235, 65536, 3, 458771, 65536, 3, 524307, 65536, 3, 589843, 65536, 3, 655379, 65536, 3, 720915, 65536, 3, 786451, 65536, 3, 851987, 65536, 3, 917523, 65536, 3, 983059, 65536, 3, 1048595, 65536, 3, 1114131, 65536, 3, 1179667, 65536, 3)
-script = ExtResource("1_n5qca")
diff --git a/DungeonShooting_Godot/resource/map/RoomConfig.json b/DungeonShooting_Godot/resource/map/RoomConfig.json
new file mode 100644
index 0000000..51c868c
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/RoomConfig.json
@@ -0,0 +1,63 @@
+[
+ {
+ "ResourcePath": "res://resource/map/tileMaps/Room1.tscn",
+ "ConfigPath": "res://resource/map/tiledata/Room1.json",
+ "RoomInfo": {
+ "Position": {
+ "X": 0,
+ "Y": -16
+ },
+ "Size": {
+ "X": 496,
+ "Y": 304
+ },
+ "DoorAreaInfos": [
+ {
+ "Direction": 3,
+ "Start": 64,
+ "End": 192
+ },
+ {
+ "Direction": 2,
+ "Start": 320,
+ "End": 464
+ },
+ {
+ "Direction": 2,
+ "Start": 80,
+ "End": 224
+ }
+ ]
+ }
+ },
+ {
+ "ResourcePath": "res://resource/map/tileMaps/Room2.tscn",
+ "ConfigPath": "res://resource/map/tiledata/Room2.json",
+ "RoomInfo": {
+ "Position": {
+ "X": -64,
+ "Y": -48
+ },
+ "Size": {
+ "X": 288,
+ "Y": 224
+ },
+ "DoorAreaInfos": []
+ }
+ },
+ {
+ "ResourcePath": "res://resource/map/tileMaps/Room3.tscn",
+ "ConfigPath": "res://resource/map/tiledata/Room3.json",
+ "RoomInfo": {
+ "Position": {
+ "X": -16,
+ "Y": -16
+ },
+ "Size": {
+ "X": 336,
+ "Y": 336
+ },
+ "DoorAreaInfos": []
+ }
+ }
+]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Room1.tscn b/DungeonShooting_Godot/resource/map/tileMaps/Room1.tscn
new file mode 100644
index 0000000..dbae73e
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Room1.tscn
@@ -0,0 +1,10 @@
+[gd_scene load_steps=3 format=3 uid="uid://dogcomcoap03x"]
+
+[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_4enkp"]
+[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="2_anyqk"]
+
+[node name="Room1" type="TileMap"]
+tile_set = ExtResource("1_4enkp")
+format = 2
+layer_0/tile_data = PackedInt32Array(1048605, 0, 8, 983069, 0, 8, 917533, 0, 8, 851997, 0, 8, 786461, 0, 8, 720925, 0, 8, 655389, 0, 8, 589853, 0, 8, 524317, 0, 8, 458781, 0, 8, 393245, 0, 8, 327709, 0, 8, 262173, 0, 8, 196637, 0, 8, 131101, 0, 8, 65565, 0, 8, 29, 0, 8, 1048604, 0, 8, 983068, 0, 8, 917532, 0, 8, 851996, 0, 8, 786460, 0, 8, 720924, 0, 8, 655388, 0, 8, 589852, 0, 8, 524316, 0, 8, 458780, 0, 8, 393244, 0, 8, 327708, 0, 8, 262172, 0, 8, 196636, 0, 8, 131100, 0, 8, 65564, 0, 8, 28, 0, 8, 1048603, 0, 8, 524315, 0, 8, 458779, 0, 8, 393243, 0, 8, 327707, 0, 8, 262171, 0, 8, 196635, 0, 8, 131099, 0, 8, 65563, 0, 8, 27, 0, 8, 1048602, 0, 8, 524314, 0, 8, 458778, 0, 8, 393242, 0, 8, 327706, 0, 8, 262170, 0, 8, 196634, 0, 8, 131098, 0, 8, 65562, 0, 8, 26, 0, 8, 1048601, 0, 8, 524313, 0, 8, 458777, 0, 8, 393241, 0, 8, 327705, 0, 8, 262169, 0, 8, 196633, 0, 8, 131097, 0, 8, 65561, 0, 8, 25, 0, 8, 1048600, 0, 8, 524312, 0, 8, 458776, 0, 8, 393240, 0, 8, 327704, 0, 8, 262168, 0, 8, 196632, 0, 8, 131096, 0, 8, 65560, 0, 8, 24, 0, 8, 1048599, 0, 8, 65559, 0, 8, 23, 0, 8, 1048598, 0, 8, 65558, 0, 8, 22, 0, 8, 1048597, 0, 8, 65557, 0, 8, 21, 0, 8, 1048596, 0, 8, 65556, 0, 8, 20, 0, 8, 1048595, 0, 8, 983059, 0, 8, 917523, 0, 8, 851987, 0, 8, 65555, 0, 8, 19, 0, 8, 1048594, 0, 8, 983058, 0, 8, 917522, 0, 8, 851986, 0, 8, 65554, 0, 8, 18, 0, 8, 1048593, 0, 8, 983057, 0, 8, 917521, 0, 8, 851985, 0, 8, 65553, 0, 8, 17, 0, 8, 1048592, 0, 8, 983056, 0, 8, 917520, 0, 8, 851984, 0, 8, 65552, 0, 8, 16, 0, 8, 1048591, 0, 8, 983055, 0, 8, 917519, 0, 8, 851983, 0, 8, 262159, 0, 8, 196623, 0, 8, 131087, 0, 8, 65551, 0, 8, 15, 0, 8, 1048590, 0, 8, 983054, 0, 8, 917518, 0, 8, 851982, 0, 8, 262158, 0, 8, 196622, 0, 8, 131086, 0, 8, 65550, 0, 8, 14, 0, 8, 1048589, 0, 8, 983053, 0, 8, 917517, 0, 8, 851981, 0, 8, 262157, 0, 8, 196621, 0, 8, 131085, 0, 8, 65549, 0, 8, 13, 0, 8, 1048588, 0, 8, 983052, 0, 8, 917516, 0, 8, 851980, 0, 8, 262156, 0, 8, 196620, 0, 8, 131084, 0, 8, 65548, 0, 8, 12, 0, 8, 1048587, 0, 8, 983051, 0, 8, 917515, 0, 8, 851979, 0, 8, 262155, 0, 8, 196619, 0, 8, 131083, 0, 8, 65547, 0, 8, 11, 0, 8, 1048586, 0, 8, 983050, 0, 8, 917514, 0, 8, 851978, 0, 8, 196618, 0, 8, 131082, 0, 8, 65546, 0, 8, 10, 0, 8, 1048585, 0, 8, 983049, 0, 8, 917513, 0, 8, 851977, 0, 8, 196617, 0, 8, 131081, 0, 8, 65545, 0, 8, 9, 0, 8, 1048584, 0, 8, 983048, 0, 8, 917512, 0, 8, 851976, 0, 8, 786440, 0, 8, 720904, 0, 8, 655368, 0, 8, 196616, 0, 8, 131080, 0, 8, 65544, 0, 8, 8, 0, 8, 1048583, 0, 8, 983047, 0, 8, 917511, 0, 8, 851975, 0, 8, 786439, 0, 8, 720903, 0, 8, 655367, 0, 8, 196615, 0, 8, 131079, 0, 8, 65543, 0, 8, 7, 0, 8, 1048582, 0, 8, 983046, 0, 8, 917510, 0, 8, 851974, 0, 8, 786438, 0, 8, 720902, 0, 8, 655366, 0, 8, 196614, 0, 8, 131078, 0, 8, 65542, 0, 8, 6, 0, 8, 1048581, 0, 8, 983045, 0, 8, 917509, 0, 8, 851973, 0, 8, 786437, 0, 8, 720901, 0, 8, 655365, 0, 8, 196613, 0, 8, 131077, 0, 8, 65541, 0, 8, 5, 0, 8, 1048580, 0, 8, 983044, 0, 8, 917508, 0, 8, 851972, 0, 8, 786436, 0, 8, 720900, 0, 8, 655364, 0, 8, 196612, 0, 8, 131076, 0, 8, 65540, 0, 8, 4, 0, 8, 1048579, 0, 8, 983043, 0, 8, 917507, 0, 8, 851971, 0, 8, 786435, 0, 8, 720899, 0, 8, 655363, 0, 8, 589827, 0, 8, 524291, 0, 8, 458755, 0, 8, 393219, 0, 8, 327683, 0, 8, 262147, 0, 8, 196611, 0, 8, 131075, 0, 8, 65539, 0, 8, 3, 0, 8, 1048578, 0, 8, 983042, 0, 8, 917506, 0, 8, 851970, 0, 8, 786434, 0, 8, 720898, 0, 8, 655362, 0, 8, 589826, 0, 8, 524290, 0, 8, 458754, 0, 8, 393218, 0, 8, 327682, 0, 8, 262146, 0, 8, 196610, 0, 8, 131074, 0, 8, 65538, 0, 8, 2, 0, 8, 1048577, 0, 8, 983041, 0, 8, 917505, 0, 8, 851969, 0, 8, 786433, 0, 8, 720897, 0, 8, 655361, 0, 8, 589825, 0, 8, 524289, 0, 8, 458753, 0, 8, 393217, 0, 8, 327681, 0, 8, 262145, 0, 8, 196609, 0, 8, 131073, 0, 8, 65537, 0, 8, 1, 0, 8, 524311, 0, 8, 458775, 0, 8, 393239, 0, 8, 524310, 0, 8, 458774, 0, 8, 393238, 0, 8, 524309, 0, 8, 458773, 0, 8, 393237, 0, 8, 524308, 0, 8, 458772, 0, 8, 393236, 0, 8, 786451, 0, 8, 720915, 0, 8, 655379, 0, 8, 589843, 0, 8, 524307, 0, 8, 458771, 0, 8, 393235, 0, 8, 786450, 0, 8, 720914, 0, 8, 655378, 0, 8, 589842, 0, 8, 524306, 0, 8, 458770, 0, 8, 393234, 0, 8, 786449, 0, 8, 720913, 0, 8, 655377, 0, 8, 589841, 0, 8, 524305, 0, 8, 458769, 0, 8, 393233, 0, 8, 786448, 0, 8, 720912, 0, 8, 655376, 0, 8, 589840, 0, 8, 524304, 0, 8, 458768, 0, 8, 393232, 0, 8, 786447, 0, 8, 720911, 0, 8, 655375, 0, 8, 589839, 0, 8, 524303, 0, 8, 458767, 0, 8, 393231, 0, 8, 327695, 0, 8, 786446, 0, 8, 720910, 0, 8, 655374, 0, 8, 589838, 0, 8, 524302, 0, 8, 458766, 0, 8, 393230, 0, 8, 327694, 0, 8, 786445, 0, 8, 720909, 0, 8, 655373, 0, 8, 589837, 0, 8, 524301, 0, 8, 458765, 0, 8, 393229, 0, 8, 327693, 0, 8, 786444, 0, 8, 720908, 0, 8, 655372, 0, 8, 589836, 0, 8, 524300, 0, 8, 458764, 0, 8, 393228, 0, 8, 327692, 0, 8, 786443, 0, 8, 720907, 0, 8, 655371, 0, 8, 589835, 0, 8, 524299, 0, 8, 458763, 0, 8, 393227, 0, 8, 327691, 0, 8, 786442, 0, 8, 720906, 0, 8, 655370, 0, 8, 786441, 0, 8, 720905, 0, 8, 655369, 0, 8, 262149, 131072, 2, 262148, 65536, 2, 262150, 131072, 2, 262151, 131072, 2, 262152, 131072, 2, 262153, 131072, 2, 262154, 196608, 2, 327690, 196608, 3, 393226, 196608, 3, 458762, 196608, 3, 524298, 196608, 3, 589834, 196608, 7, 589833, 65536, 7, 589832, 0, 8, 589831, 0, 8, 589830, 0, 8, 524294, 0, 8, 524295, 0, 8, 524296, 0, 8, 589829, 196608, 7, 524293, 196608, 3, 589828, 65536, 7, 524292, 65536, 3, 458756, 65536, 3, 393220, 65536, 3, 327684, 65536, 3, 524297, 65536, 3, 458757, 196608, 3, 458758, 0, 8, 458759, 0, 8, 393221, 196608, 4, 393222, 131072, 7, 393223, 131072, 7, 458760, 0, 8, 393224, 131072, 7, 458761, 65536, 3, 393225, 65536, 4, 327696, 65536, 7, 327697, 131072, 7, 327698, 131072, 7, 327699, 131072, 7, 327700, 131072, 7, 327701, 131072, 7, 327702, 131072, 7, 327703, 196608, 7, 262167, 196608, 3, 196631, 196608, 3, 131095, 196608, 2, 131094, 131072, 2, 131093, 131072, 2, 131092, 131072, 2, 131091, 131072, 2, 131090, 131072, 2, 131089, 131072, 2, 131088, 65536, 2, 196624, 65536, 3, 262160, 65536, 3, 589844, 65536, 2, 655380, 65536, 3, 720916, 65536, 3, 786452, 65536, 3, 917531, 196608, 7, 851995, 196608, 3, 786459, 196608, 3, 720923, 196608, 3, 655387, 196608, 3, 589851, 196608, 2, 589850, 65536, 2, 589849, 0, 8, 589848, 0, 8, 589847, 0, 8, 589846, 0, 8, 589845, 196608, 2, 655383, 0, 8, 655382, 0, 8, 655381, 196608, 3, 720919, 0, 8, 720918, 0, 8, 720917, 196608, 3, 786455, 0, 8, 786454, 0, 8, 786453, 196608, 3, 786456, 0, 8, 720920, 0, 8, 786457, 0, 8, 720921, 0, 8, 786458, 65536, 3, 720922, 65536, 3, 655384, 0, 8, 655385, 0, 8, 655386, 65536, 3, 851993, 131072, 2, 851992, 131072, 2, 851994, 851968, 2, 851988, 65536, 3, 917524, 65536, 7, 983066, 0, 8, 983067, 0, 8, 983065, 0, 8, 983064, 0, 8, 983063, 0, 8, 983062, 0, 8, 983061, 0, 8, 983060, 0, 8, 851991, 131072, 2, 851990, 131072, 2, 851989, 720896, 2, 917525, 131072, 7, 917526, 131072, 7, 917527, 131072, 7, 917528, 131072, 7, 917529, 131072, 7, 917530, 131072, 7, 1114141, 131072, 2, 0, 196608, 3, 65536, 196608, 3, 131072, 196608, 3, 196608, 196608, 3, 262144, 196608, 3, 327680, 196608, 3, 393216, 196608, 3, 458752, 196608, 3, 524288, 196608, 3, 589824, 196608, 3, 655360, 196608, 3, 720896, 196608, 3, 786432, 196608, 3, 851968, 196608, 3, 917504, 196608, 3, 983040, 196608, 3, 1048576, 196608, 3, 1114114, 131072, 2, 1114113, 131072, 2, 1114112, 720896, 2, 30, 65536, 3, 65566, 65536, 3, 131102, 65536, 3, 196638, 65536, 3, 262174, 65536, 3, 327710, 65536, 3, 393246, 65536, 3, 458782, 65536, 3, 524318, 65536, 3, 589854, 65536, 3, 655390, 65536, 3, 720926, 65536, 3, 786462, 65536, 3, 851998, 65536, 3, 917534, 65536, 3, 983070, 65536, 3, 1048606, 65536, 3, 1114142, 851968, 2, 1114140, 131072, 2, 1114115, 131072, 2, 1114116, 131072, 2, 1114117, 131072, 2, 1114118, 131072, 2, 1114119, 131072, 2, 1114120, 131072, 2, 1114121, 131072, 2, 1114122, 131072, 2, 1114123, 131072, 2, 1114124, 131072, 2, 1114125, 131072, 2, 1114126, 131072, 2, 1114127, 131072, 2, 1114128, 131072, 2, 1114129, 131072, 2, 1114130, 131072, 2, 1114131, 131072, 2, 1114132, 131072, 2, 1114133, 131072, 2, 1114134, 131072, 2, 1114135, 131072, 2, 1114136, 131072, 2, 1114137, 131072, 2, 1114138, 131072, 2, 1114139, 131072, 2, -65536, 196608, 4, -65535, 131072, 7, -65534, 131072, 7, -65533, 131072, 7, -65532, 131072, 7, -65531, 131072, 7, -65530, 131072, 7, -65529, 131072, 7, -65528, 131072, 7, -65527, 131072, 7, -65526, 131072, 7, -65525, 131072, 7, -65524, 131072, 7, -65523, 131072, 7, -65522, 131072, 7, -65521, 131072, 7, -65520, 131072, 7, -65519, 131072, 7, -65518, 131072, 7, -65517, 131072, 7, -65516, 131072, 7, -65515, 131072, 7, -65514, 131072, 7, -65513, 131072, 7, -65512, 131072, 7, -65511, 131072, 7, -65510, 131072, 7, -65509, 131072, 7, -65508, 131072, 7, -65507, 131072, 7, -65506, 65536, 4)
+script = ExtResource("2_anyqk")
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Room2.tscn b/DungeonShooting_Godot/resource/map/tileMaps/Room2.tscn
new file mode 100644
index 0000000..5a86c8f
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Room2.tscn
@@ -0,0 +1,10 @@
+[gd_scene load_steps=3 format=3 uid="uid://da2ujaw1xtq18"]
+
+[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_cli1n"]
+[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="2_gpwui"]
+
+[node name="Room2" type="TileMap"]
+tile_set = ExtResource("1_cli1n")
+format = 2
+layer_0/tile_data = PackedInt32Array(524300, 0, 8, 458764, 0, 8, 393228, 0, 8, 327692, 0, 8, 262156, 0, 8, 196620, 0, 8, 131084, 0, 8, 65548, 0, 8, 12, 0, 8, -65524, 0, 8, -131060, 0, 8, 524299, 0, 8, 458763, 0, 8, 393227, 0, 8, 327691, 0, 8, 262155, 0, 8, 196619, 0, 8, 131083, 0, 8, 65547, 0, 8, 11, 0, 8, -65525, 0, 8, -131061, 0, 8, 524298, 0, 8, -65526, 0, 8, -131062, 0, 8, 524297, 0, 8, -65527, 0, 8, -131063, 0, 8, 524296, 0, 8, -65528, 0, 8, -131064, 0, 8, 524295, 0, 8, -65529, 0, 8, -131065, 0, 8, 524294, 0, 8, -65530, 0, 8, -131066, 0, 8, 524293, 0, 8, -65531, 0, 8, -131067, 0, 8, 524292, 0, 8, -65532, 0, 8, -131068, 0, 8, 524291, 0, 8, 458755, 0, 8, -65533, 0, 8, -131069, 0, 8, 524290, 0, 8, 458754, 0, 8, -65534, 0, 8, -131070, 0, 8, 524289, 0, 8, -65535, 0, 8, -131071, 0, 8, 524288, 0, 8, -65536, 0, 8, -131072, 0, 8, 589823, 0, 8, -1, 0, 8, -65537, 0, 8, 589822, 0, 8, 524286, 0, 8, 458750, 0, 8, 393214, 0, 8, 327678, 0, 8, 262142, 0, 8, 196606, 0, 8, 131070, 0, 8, 65534, 0, 8, -2, 0, 8, -65538, 0, 8, 589821, 0, 8, 524285, 0, 8, 458749, 0, 8, 393213, 0, 8, 327677, 0, 8, 262141, 0, 8, 196605, 0, 8, 131069, 0, 8, 65533, 0, 8, -3, 0, 8, -65539, 0, 8, -4, 196608, 3, -65540, 196608, 3, -131076, 196608, 4, -131075, 131072, 7, -131074, 131072, 7, 65532, 196608, 3, 131068, 196608, 3, 196604, 196608, 3, 262140, 196608, 3, 327676, 196608, 3, 393212, 196608, 3, 458748, 196608, 3, 524284, 196608, 3, 589820, 196608, 3, 655358, 0, 8, 655357, 0, 8, 655356, 196608, 3, -131073, 131072, 7, 655359, 0, 8, -196608, 131072, 7, 589824, 0, 8, -196607, 131072, 7, 589825, 0, 8, -196606, 131072, 7, 589826, 0, 8, -196605, 131072, 7, 589827, 0, 8, -196604, 131072, 7, 589828, 0, 8, -196603, 131072, 7, 589829, 0, 8, -196602, 131072, 7, 589830, 0, 8, -196601, 131072, 7, 589831, 0, 8, -196600, 131072, 7, 589832, 0, 8, -196599, 131072, 7, 589833, 0, 8, -196598, 131072, 7, 589834, 0, 8, -196597, 131072, 7, 589835, 0, 8, -196596, 131072, 7, 589836, 0, 8, -131059, 65536, 3, -65523, 65536, 3, -196595, 65536, 4, 13, 65536, 3, 65549, 65536, 3, 131085, 65536, 3, 196621, 65536, 3, 262157, 65536, 3, 327693, 65536, 3, 393229, 65536, 3, 458765, 65536, 3, 524301, 65536, 3, 589837, 65536, 3, 6, 0, 8, 7, 0, 8, 65543, 0, 8, 65542, 0, 8, 65541, 196608, 3, 5, 196608, 2, 131079, 0, 8, 131078, 0, 8, 131077, 196608, 7, 196615, 0, 8, 196614, 0, 8, 196613, 0, 8, 262151, 0, 8, 262150, 0, 8, 262149, 0, 8, 262148, 0, 8, 196612, 0, 8, 131076, 131072, 7, 262147, 0, 8, 196611, 0, 8, 131075, 131072, 7, 262146, 0, 8, 196610, 0, 8, 131074, 131072, 7, 262145, 196608, 3, 196609, 196608, 3, 131073, 196608, 4, 327683, 0, 8, 327682, 0, 8, 327681, 196608, 3, 393219, 0, 8, 393218, 0, 8, 393215, 65536, 3, 327679, 65536, 3, 262143, 65536, 3, 196607, 65536, 3, 131071, 65536, 3, 65535, 65536, 2, 0, 131072, 2, 1, 131072, 2, 2, 131072, 2, 3, 131072, 2, 4, 131072, 2, 8, 65536, 2, 65544, 65536, 3, 131080, 65536, 3, 196616, 65536, 3, 262152, 65536, 3, 327687, 131072, 2, 327686, 131072, 2, 327685, 131072, 2, 327684, 65536, 2, 327690, 196608, 3, 262154, 196608, 3, 196618, 196608, 3, 131082, 196608, 3, 65546, 196608, 3, 10, 196608, 2, 9, 131072, 2, 720894, 131072, 2, 720893, 131072, 2, 720892, 720896, 2, 720895, 131072, 2, 655360, 131072, 2, 655361, 131072, 2, 655362, 131072, 2, 655363, 131072, 2, 655364, 131072, 2, 655365, 131072, 2, 655366, 131072, 2, 655367, 131072, 2, 655368, 131072, 2, 655369, 131072, 2, 655370, 131072, 2, 655371, 131072, 2, 655372, 131072, 2, 655373, 851968, 2, 458751, 65536, 3, 393220, 65536, 3, 458761, 131072, 7, 458762, 196608, 7, 458760, 131072, 7, 458759, 131072, 7, 458758, 131072, 7, 458757, 131072, 7, 458756, 131072, 7, 393226, 196608, 3, 327688, 851968, 2, 458753, 196608, 7, 393217, 196608, 3, 458752, 131072, 7, 524287, 65536, 7)
+script = ExtResource("2_gpwui")
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Room3.tscn b/DungeonShooting_Godot/resource/map/tileMaps/Room3.tscn
new file mode 100644
index 0000000..2e4a3fb
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Room3.tscn
@@ -0,0 +1,10 @@
+[gd_scene load_steps=3 format=3 uid="uid://c83qc7utiy3pd"]
+
+[ext_resource type="Script" path="res://src/framework/map/DungeonRoomTemplate.cs" id="1_n5qca"]
+[ext_resource type="TileSet" uid="uid://b00g22o1cqhe8" path="res://resource/map/tileset/TileSet1.tres" id="1_ngr66"]
+
+[node name="Room3" type="TileMap"]
+tile_set = ExtResource("1_ngr66")
+format = 2
+layer_0/tile_data = PackedInt32Array(1048594, 0, 8, 983058, 0, 8, 917522, 0, 8, 851986, 0, 8, 786450, 0, 8, 720914, 0, 8, 655378, 0, 8, 589842, 0, 8, 524306, 0, 8, 458770, 0, 8, 393234, 0, 8, 327698, 0, 8, 262162, 0, 8, 196626, 0, 8, 131090, 0, 8, 65554, 0, 8, 18, 0, 8, 1048593, 0, 8, 983057, 0, 8, 917521, 0, 8, 851985, 0, 8, 786449, 0, 8, 720913, 0, 8, 655377, 0, 8, 589841, 0, 8, 524305, 0, 8, 458769, 0, 8, 393233, 0, 8, 327697, 0, 8, 262161, 0, 8, 196625, 0, 8, 131089, 0, 8, 65553, 0, 8, 17, 0, 8, 1048592, 0, 8, 983056, 0, 8, 917520, 0, 8, 851984, 0, 8, 786448, 0, 8, 720912, 0, 8, 655376, 0, 8, 589840, 0, 8, 524304, 0, 8, 458768, 0, 8, 393232, 0, 8, 327696, 0, 8, 262160, 0, 8, 196624, 0, 8, 131088, 0, 8, 65552, 0, 8, 16, 0, 8, 1048591, 0, 8, 655375, 0, 8, 589839, 0, 8, 524303, 0, 8, 131087, 0, 8, 65551, 0, 8, 15, 0, 8, 1048590, 0, 8, 655374, 0, 8, 589838, 0, 8, 524302, 0, 8, 131086, 0, 8, 65550, 0, 8, 14, 0, 8, 1048589, 0, 8, 655373, 0, 8, 589837, 0, 8, 524301, 0, 8, 131085, 0, 8, 65549, 0, 8, 13, 0, 8, 1048588, 0, 8, 655372, 0, 8, 589836, 0, 8, 131084, 0, 8, 65548, 0, 8, 12, 0, 8, 1048587, 0, 8, 655371, 0, 8, 589835, 0, 8, 131083, 0, 8, 65547, 0, 8, 11, 0, 8, 1048586, 0, 8, 983050, 0, 8, 917514, 0, 8, 851978, 0, 8, 786442, 0, 8, 720906, 0, 8, 655370, 0, 8, 589834, 0, 8, 131082, 0, 8, 65546, 0, 8, 10, 0, 8, 1048585, 0, 8, 983049, 0, 8, 917513, 0, 8, 851977, 0, 8, 786441, 0, 8, 720905, 0, 8, 655369, 0, 8, 589833, 0, 8, 131081, 0, 8, 65545, 0, 8, 9, 0, 8, 1048584, 0, 8, 983048, 0, 8, 917512, 0, 8, 851976, 0, 8, 786440, 0, 8, 720904, 0, 8, 655368, 0, 8, 589832, 0, 8, 131080, 0, 8, 65544, 0, 8, 8, 0, 8, 1048583, 0, 8, 655367, 0, 8, 589831, 0, 8, 65543, 0, 8, 7, 0, 8, 1048582, 0, 8, 655366, 0, 8, 589830, 0, 8, 65542, 0, 8, 6, 0, 8, 1048581, 0, 8, 655365, 0, 8, 589829, 0, 8, 65541, 0, 8, 5, 0, 8, 1048580, 0, 8, 655364, 0, 8, 589828, 0, 8, 65540, 0, 8, 4, 0, 8, 1048579, 0, 8, 655363, 0, 8, 589827, 0, 8, 65539, 0, 8, 3, 0, 8, 1048578, 0, 8, 983042, 0, 8, 917506, 0, 8, 851970, 0, 8, 786434, 0, 8, 720898, 0, 8, 655362, 0, 8, 589826, 0, 8, 131074, 0, 8, 65538, 0, 8, 2, 0, 8, 1048577, 0, 8, 983041, 0, 8, 917505, 0, 8, 851969, 0, 8, 786433, 0, 8, 720897, 0, 8, 655361, 0, 8, 589825, 0, 8, 524289, 0, 8, 458753, 0, 8, 393217, 0, 8, 327681, 0, 8, 262145, 0, 8, 196609, 0, 8, 131073, 0, 8, 65537, 0, 8, 1, 0, 8, 1048576, 0, 8, 983040, 0, 8, 917504, 0, 8, 851968, 0, 8, 786432, 0, 8, 720896, 0, 8, 655360, 0, 8, 589824, 0, 8, 524288, 0, 8, 458752, 0, 8, 393216, 0, 8, 327680, 0, 8, 262144, 0, 8, 196608, 0, 8, 131072, 0, 8, 65536, 0, 8, 0, 0, 8, 131071, 196608, 3, 65535, 196608, 3, -1, 196608, 4, -65536, 131072, 7, -65535, 131072, 7, 196607, 196608, 3, 262143, 196608, 3, 327679, 196608, 3, 393215, 196608, 3, 458751, 196608, 3, 524287, 196608, 3, 589823, 196608, 3, 655359, 196608, 3, 720895, 196608, 3, 786431, 196608, 3, 851967, 196608, 3, 917503, 196608, 3, 983039, 196608, 3, 1048575, 196608, 3, 1114111, 196608, 3, -65534, 131072, 7, -65533, 131072, 7, -65532, 131072, 7, -65531, 131072, 7, -65530, 131072, 7, -65529, 131072, 7, -65528, 131072, 7, -65527, 131072, 7, -65526, 131072, 7, -65525, 131072, 7, -65524, 131072, 7, -65523, 131072, 7, -65522, 131072, 7, -65521, 131072, 7, -65520, 131072, 7, -65519, 131072, 7, -65518, 131072, 7, -65517, 65536, 4, 524300, 0, 8, 524299, 0, 8, 524298, 0, 8, 458762, 0, 8, 393226, 0, 8, 327690, 0, 8, 262154, 0, 8, 196618, 0, 8, 524297, 0, 8, 458761, 0, 8, 393225, 0, 8, 327689, 0, 8, 262153, 0, 8, 196617, 0, 8, 524296, 0, 8, 458760, 0, 8, 393224, 0, 8, 327688, 0, 8, 262152, 0, 8, 196616, 0, 8, 524295, 0, 8, 524294, 0, 8, 524293, 0, 8, 524292, 0, 8, 524291, 0, 8, 524290, 0, 8, 458754, 0, 8, 393218, 0, 8, 327682, 0, 8, 262146, 0, 8, 196610, 0, 8, 131079, 0, 8, 131078, 0, 8, 131077, 0, 8, 131076, 0, 8, 131075, 0, 8, 1179666, 0, 8, 1114130, 0, 8, 1179665, 0, 8, 1114129, 0, 8, 1179664, 0, 8, 1114128, 0, 8, 1179663, 0, 8, 1114127, 0, 8, 1179662, 0, 8, 1114126, 0, 8, 1179661, 0, 8, 1114125, 0, 8, 1179660, 0, 8, 1114124, 0, 8, 1179659, 0, 8, 1114123, 0, 8, 1179658, 0, 8, 1114122, 0, 8, 1179657, 0, 8, 1114121, 0, 8, 1179656, 0, 8, 1114120, 0, 8, 1179655, 0, 8, 1114119, 0, 8, 1179654, 0, 8, 1114118, 0, 8, 1179653, 0, 8, 1114117, 0, 8, 1179652, 0, 8, 1114116, 0, 8, 1179651, 0, 8, 1114115, 0, 8, 1179650, 0, 8, 1114114, 0, 8, 1179649, 0, 8, 1114113, 0, 8, 1179648, 0, 8, 1114112, 0, 8, 1179647, 196608, 3, 1245183, 196608, 3, 983043, 65536, 7, 983044, 131072, 7, 983045, 131072, 7, 983046, 131072, 7, 983047, 196608, 7, 720899, 65536, 2, 786435, 65536, 3, 851971, 65536, 3, 917507, 65536, 3, 196611, 65536, 2, 262147, 65536, 3, 327683, 65536, 3, 393219, 65536, 3, 458755, 65536, 7, 262151, 196608, 3, 196615, 196608, 2, 327687, 196608, 3, 393223, 196608, 3, 458759, 196608, 7, 196612, 131072, 2, 196613, 131072, 2, 196614, 131072, 2, 458756, 131072, 7, 458757, 131072, 7, 458758, 131072, 7, 720900, 131072, 2, 720901, 131072, 2, 720902, 131072, 2, 720903, 196608, 2, 786439, 196608, 3, 851975, 196608, 3, 917511, 196608, 3, 1245185, 131072, 2, 1245184, 131072, 2, 1310719, 720896, 2, 1245186, 131072, 2, 1245187, 131072, 2, 1245188, 131072, 2, 1245189, 131072, 2, 1245190, 131072, 2, 1245191, 131072, 2, 1245192, 131072, 2, 1245193, 131072, 2, 1245194, 131072, 2, 1245195, 131072, 2, 1245196, 131072, 2, 1245197, 131072, 2, 1245198, 131072, 2, 1245199, 131072, 2, 1245200, 131072, 2, 1245201, 131072, 2, 1245202, 131072, 2, 1245203, 851968, 2, 720907, 65536, 2, 786443, 65536, 3, 851979, 65536, 3, 917515, 65536, 3, 983051, 65536, 7, 196619, 65536, 2, 262155, 65536, 3, 327691, 65536, 3, 393227, 65536, 3, 458763, 65536, 7, 196620, 131072, 2, 196621, 131072, 2, 196622, 131072, 2, 196623, 196608, 2, 262159, 196608, 3, 327695, 196608, 3, 393231, 196608, 3, 458767, 196608, 7, 720911, 196608, 2, 786447, 196608, 3, 851983, 196608, 3, 917519, 196608, 3, 983055, 196608, 7, 458764, 131072, 7, 720908, 131072, 2, 458765, 131072, 7, 720909, 131072, 2, 458766, 131072, 7, 720910, 131072, 2, 983052, 131072, 7, 983053, 131072, 7, 983054, 131072, 7, 19, 65536, 3, 65555, 65536, 3, 131091, 65536, 3, 196627, 65536, 3, 262163, 65536, 3, 327699, 65536, 3, 393235, 65536, 3, 458771, 65536, 3, 524307, 65536, 3, 589843, 65536, 3, 655379, 65536, 3, 720915, 65536, 3, 786451, 65536, 3, 851987, 65536, 3, 917523, 65536, 3, 983059, 65536, 3, 1048595, 65536, 3, 1114131, 65536, 3, 1179667, 65536, 3)
+script = ExtResource("1_n5qca")
diff --git a/DungeonShooting_Godot/resource/map/tiledata/Room1.json b/DungeonShooting_Godot/resource/map/tiledata/Room1.json
index 10599e5..6c06345 100644
--- a/DungeonShooting_Godot/resource/map/tiledata/Room1.json
+++ b/DungeonShooting_Godot/resource/map/tiledata/Room1.json
@@ -1,22 +1,27 @@
-[
- {
- "Direction": 3,
- "Start": 16,
- "End": 480
+{
+ "Position": {
+ "X": 0,
+ "Y": -16
},
- {
- "Direction": 1,
- "Start": 16,
- "End": 288
+ "Size": {
+ "X": 496,
+ "Y": 304
},
- {
- "Direction": 2,
- "Start": 16,
- "End": 480
- },
- {
- "Direction": 0,
- "Start": 16,
- "End": 288
- }
-]
\ No newline at end of file
+ "DoorAreaInfos": [
+ {
+ "Direction": 3,
+ "Start": 64,
+ "End": 192
+ },
+ {
+ "Direction": 2,
+ "Start": 320,
+ "End": 464
+ },
+ {
+ "Direction": 2,
+ "Start": 80,
+ "End": 224
+ }
+ ]
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tiledata/Room2.json b/DungeonShooting_Godot/resource/map/tiledata/Room2.json
index 53434a7..975a0ab 100644
--- a/DungeonShooting_Godot/resource/map/tiledata/Room2.json
+++ b/DungeonShooting_Godot/resource/map/tiledata/Room2.json
@@ -1,22 +1,11 @@
-[
- {
- "Direction": 3,
- "Start": 16,
- "End": 272
+{
+ "Position": {
+ "X": -64,
+ "Y": -48
},
- {
- "Direction": 0,
- "Start": 16,
- "End": 208
+ "Size": {
+ "X": 288,
+ "Y": 224
},
- {
- "Direction": 2,
- "Start": 16,
- "End": 272
- },
- {
- "Direction": 1,
- "Start": 16,
- "End": 208
- }
-]
\ No newline at end of file
+ "DoorAreaInfos": []
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tiledata/Room3.json b/DungeonShooting_Godot/resource/map/tiledata/Room3.json
index f2aee93..822a4c5 100644
--- a/DungeonShooting_Godot/resource/map/tiledata/Room3.json
+++ b/DungeonShooting_Godot/resource/map/tiledata/Room3.json
@@ -1,22 +1,11 @@
-[
- {
- "Direction": 3,
- "Start": 16,
- "End": 320
+{
+ "Position": {
+ "X": -16,
+ "Y": -16
},
- {
- "Direction": 2,
- "Start": 16,
- "End": 320
+ "Size": {
+ "X": 336,
+ "Y": 336
},
- {
- "Direction": 0,
- "Start": 16,
- "End": 320
- },
- {
- "Direction": 1,
- "Start": 16,
- "End": 320
- }
-]
\ No newline at end of file
+ "DoorAreaInfos": []
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/theme/mainTheme.tres b/DungeonShooting_Godot/resource/theme/mainTheme.tres
index 8db0480..ca79629 100644
--- a/DungeonShooting_Godot/resource/theme/mainTheme.tres
+++ b/DungeonShooting_Godot/resource/theme/mainTheme.tres
@@ -352,7 +352,7 @@
[sub_resource type="ImageTexture" id="58"]
-[sub_resource type="Image" id="Image_83vla"]
+[sub_resource type="Image" id="Image_md1vf"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 1, 255, 255, 255, 39, 255, 255, 255, 67, 255, 255, 255, 67, 255, 255, 255, 39, 255, 255, 255, 1, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 39, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 39, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 66, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 66, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 66, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 66, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 39, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 39, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 1, 255, 255, 255, 39, 255, 255, 255, 67, 255, 255, 255, 67, 255, 255, 255, 39, 255, 255, 255, 1, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
"format": "RGBA8",
@@ -362,7 +362,7 @@
}
[sub_resource type="ImageTexture" id="60"]
-image = SubResource("Image_83vla")
+image = SubResource("Image_md1vf")
[sub_resource type="StyleBoxTexture" id="61"]
content_margin_left = 2.0
@@ -372,7 +372,7 @@
texture = SubResource("60")
region_rect = Rect2(0, 0, 12, 12)
-[sub_resource type="Image" id="Image_bi6cw"]
+[sub_resource type="Image" id="Image_dxvff"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 247, 247, 247, 0, 248, 248, 248, 0, 248, 248, 248, 0, 247, 247, 247, 0, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 191, 191, 191, 4, 247, 247, 247, 98, 248, 248, 248, 167, 248, 248, 248, 167, 247, 247, 247, 98, 191, 191, 191, 4, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, 247, 0, 247, 247, 247, 97, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 247, 247, 247, 97, 247, 247, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 248, 248, 0, 248, 248, 248, 164, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 164, 248, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 248, 248, 0, 248, 248, 248, 164, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 164, 248, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, 247, 0, 247, 247, 247, 97, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 247, 247, 247, 97, 247, 247, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 191, 191, 191, 4, 247, 247, 247, 98, 248, 248, 248, 167, 248, 248, 248, 167, 247, 247, 247, 98, 191, 191, 191, 4, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 247, 247, 247, 0, 248, 248, 248, 0, 248, 248, 248, 0, 247, 247, 247, 0, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
"format": "RGBA8",
@@ -382,7 +382,7 @@
}
[sub_resource type="ImageTexture" id="63"]
-image = SubResource("Image_bi6cw")
+image = SubResource("Image_dxvff")
[sub_resource type="StyleBoxTexture" id="64"]
content_margin_left = 2.0
@@ -392,7 +392,7 @@
texture = SubResource("63")
region_rect = Rect2(0, 0, 12, 12)
-[sub_resource type="Image" id="Image_qiacx"]
+[sub_resource type="Image" id="Image_l88rh"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 127, 127, 127, 4, 173, 173, 173, 97, 173, 173, 173, 166, 173, 173, 173, 166, 173, 173, 173, 97, 127, 127, 127, 4, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 172, 172, 0, 172, 172, 172, 96, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 172, 172, 172, 96, 172, 172, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 173, 173, 0, 173, 173, 173, 163, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 163, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 173, 173, 0, 173, 173, 173, 163, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 163, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 172, 172, 0, 172, 172, 172, 96, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 172, 172, 172, 96, 172, 172, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 127, 127, 127, 4, 173, 173, 173, 97, 173, 173, 173, 166, 173, 173, 173, 166, 173, 173, 173, 97, 127, 127, 127, 4, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
"format": "RGBA8",
@@ -402,7 +402,7 @@
}
[sub_resource type="ImageTexture" id="66"]
-image = SubResource("Image_qiacx")
+image = SubResource("Image_l88rh")
[sub_resource type="StyleBoxTexture" id="67"]
content_margin_left = 2.0
@@ -412,7 +412,7 @@
texture = SubResource("66")
region_rect = Rect2(0, 0, 12, 12)
-[sub_resource type="Image" id="Image_sjbwd"]
+[sub_resource type="Image" id="Image_cruoi"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 16, 255, 255, 255, 16, 255, 255, 255, 4, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 16, 255, 255, 255, 21, 255, 255, 255, 21, 255, 255, 255, 16, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 16, 255, 255, 255, 21, 255, 255, 255, 21, 255, 255, 255, 16, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 16, 255, 255, 255, 16, 255, 255, 255, 4, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
"format": "RGBA8",
@@ -422,7 +422,7 @@
}
[sub_resource type="ImageTexture" id="69"]
-image = SubResource("Image_sjbwd")
+image = SubResource("Image_cruoi")
[sub_resource type="StyleBoxTexture" id="70"]
content_margin_left = 0.0
@@ -446,7 +446,7 @@
content_margin_right = 4.0
content_margin_bottom = 4.0
-[sub_resource type="Image" id="Image_j8uqx"]
+[sub_resource type="Image" id="Image_ed6ti"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 76, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 228, 255, 255, 255, 188, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 188, 255, 255, 255, 228, 255, 255, 255, 76, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 18, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 187, 255, 255, 255, 17, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 187, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 18, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 185, 255, 255, 255, 17, 255, 255, 255, 17, 255, 255, 255, 186, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 190, 255, 255, 255, 229, 255, 255, 255, 185, 255, 255, 255, 185, 255, 255, 255, 229, 255, 255, 255, 189, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 191, 255, 255, 255, 229, 255, 255, 255, 229, 255, 255, 255, 190, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 187, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 187, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 18, 255, 255, 255, 19, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 186, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 185, 255, 255, 255, 229, 255, 255, 255, 189, 255, 255, 255, 19, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 189, 255, 255, 255, 229, 255, 255, 255, 185, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 229, 255, 255, 255, 190, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 190, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 77, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 77, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
"format": "RGBA8",
@@ -456,7 +456,7 @@
}
[sub_resource type="ImageTexture" id="56"]
-image = SubResource("Image_j8uqx")
+image = SubResource("Image_ed6ti")
[sub_resource type="StyleBoxFlat" id="57"]
content_margin_left = 6.0
diff --git a/DungeonShooting_Godot/src/framework/map/DungeonRoomInfo.cs b/DungeonShooting_Godot/src/framework/map/DungeonRoomInfo.cs
new file mode 100644
index 0000000..4f87a97
--- /dev/null
+++ b/DungeonShooting_Godot/src/framework/map/DungeonRoomInfo.cs
@@ -0,0 +1,27 @@
+
+using System.Collections.Generic;
+using System.Text.Json.Serialization;
+
+///
+/// 房间配置数据
+///
+public class DungeonRoomInfo
+{
+ ///
+ /// 房间位置
+ ///
+ [JsonInclude]
+ public SerializeVector2 Position;
+
+ ///
+ /// 房间大小
+ ///
+ [JsonInclude]
+ public SerializeVector2 Size;
+
+ ///
+ /// 房间连通门
+ ///
+ [JsonInclude]
+ public List DoorAreaInfos;
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/DungeonRoomSplit.cs b/DungeonShooting_Godot/src/framework/map/DungeonRoomSplit.cs
new file mode 100644
index 0000000..91eff20
--- /dev/null
+++ b/DungeonShooting_Godot/src/framework/map/DungeonRoomSplit.cs
@@ -0,0 +1,14 @@
+
+using System.Text.Json.Serialization;
+
+public class DungeonRoomSplit
+{
+ [JsonInclude]
+ public string ResourcePath;
+
+ [JsonInclude]
+ public string ConfigPath;
+
+ [JsonInclude]
+ public DungeonRoomInfo RoomInfo;
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/DungeonRoomTemplate.cs b/DungeonShooting_Godot/src/framework/map/DungeonRoomTemplate.cs
index af23ba6..a7a2dc1 100644
--- a/DungeonShooting_Godot/src/framework/map/DungeonRoomTemplate.cs
+++ b/DungeonShooting_Godot/src/framework/map/DungeonRoomTemplate.cs
@@ -9,6 +9,21 @@
public partial class DungeonRoomTemplate : TileMap
{
+ ///
+ /// 地图路径
+ ///
+ public static readonly string RoomTileDir = System.Environment.CurrentDirectory + "\\resource\\map\\tileMaps\\";
+
+ ///
+ /// 地图描述数据路径
+ ///
+ public static readonly string RoomTileDataDir = System.Environment.CurrentDirectory + "\\resource\\map\\tiledata\\";
+
+ ///
+ /// 房间配置汇总
+ ///
+ public static readonly string RoomTileConfigFile = System.Environment.CurrentDirectory + "\\resource\\map\\RoomConfig.json";
+
#if TOOLS
//是否悬停在线上
private bool _hover = false;
@@ -33,8 +48,6 @@
private bool _dragHasCollision = false;
private bool _mouseDown = false;
-
- private static string _currDir = System.Environment.CurrentDirectory + "\\resource\\map\\tiledata\\";
//
private List _doorConfigs;
@@ -51,7 +64,7 @@
if (_doorConfigs == null)
{
initConfigs = true;
- ReadConfig();
+ _doorConfigs = ReadConfig(CalcTileRange(this), Name);
}
var isClick = false;
@@ -80,7 +93,7 @@
}
else if (TileSet != null)
{
- var mapRect = CalcTileRange();
+ var mapRect = CalcTileRange(this);
var mousePosition = GetLocalMousePosition();
if (mapRect != _prevRect)
@@ -317,7 +330,7 @@
if (TileSet != null)
{
//绘制地图轮廓
- var mapRange = CalcTileRange();
+ var mapRange = CalcTileRange(this);
mapRange.Position -= new Vector2(2, 2);
mapRange.Size += new Vector2(4, 4);
DrawRect(mapRange, _hover ? Colors.Green : new Color(0.03137255F, 0.59607846F, 0.03137255F), false, 2);
@@ -585,14 +598,6 @@
_activeArea = null;
}
}
-
- private Rect2 CalcTileRange()
- {
- var usedRect = GetUsedRect();
- var pos = usedRect.Position * TileSet.TileSize;
- var size = usedRect.Size * TileSet.TileSize;
- return new Rect2(ToLocal(pos), size);
- }
private float Approach(float value, float period)
{
@@ -618,32 +623,52 @@
//区域数据修改
private void OnDoorAreaChange()
{
- SaveConfig();
+ SaveConfig(_doorConfigs, CalcTileRange(this), Name);
}
-
- //保存配置
- private void SaveConfig()
+
+ ///
+ /// 计算tile所占区域
+ ///
+ ///
+ public static Rect2 CalcTileRange(TileMap tileMap)
+ {
+ var usedRect = tileMap.GetUsedRect();
+ var pos = usedRect.Position * tileMap.TileSet.TileSize;
+ var size = usedRect.Size * tileMap.TileSet.TileSize;
+ return new Rect2(tileMap.ToLocal(pos), size);
+ }
+
+ ///
+ /// 保存房间配置
+ ///
+ public static void SaveConfig(List doorConfigs, Rect2 mapRect, string name)
{
//存入本地
- var path = _currDir + Name + ".json";
+ var path = RoomTileDataDir + name + ".json";
+ var roomInfo = new DungeonRoomInfo();
+ roomInfo.Position = new SerializeVector2(mapRect.Position.X, mapRect.Position.Y);
+ roomInfo.Size = new SerializeVector2(mapRect.Size.X, mapRect.Size.Y);
+ roomInfo.DoorAreaInfos = doorConfigs;
+
var config = new JsonSerializerOptions();
config.WriteIndented = true;
- var jsonStr = JsonSerializer.Serialize(_doorConfigs, config);
+ var jsonStr = JsonSerializer.Serialize(roomInfo, config);
File.WriteAllText(path, jsonStr);
}
- //读取配置
- private void ReadConfig()
+ ///
+ /// 读取房间配置
+ ///
+ public static List ReadConfig(Rect2 mapRect, string name)
{
- var path = _currDir + Name + ".json";
+ var path = RoomTileDataDir + name + ".json";
if (File.Exists(path))
{
- var mapRect = CalcTileRange();
var text = File.ReadAllText(path);
try
{
- _doorConfigs = JsonSerializer.Deserialize>(text);
- foreach (var doorAreaInfo in _doorConfigs)
+ var roomInfo = JsonSerializer.Deserialize(text);
+ foreach (var doorAreaInfo in roomInfo.DoorAreaInfos)
{
switch (doorAreaInfo.Direction)
{
@@ -665,18 +690,19 @@
break;
}
}
+
+ return roomInfo.DoorAreaInfos;
}
catch (Exception e)
{
GD.PrintErr($"加载房间数据'{path}'发生异常: " + e);
- _doorConfigs = new List();
+ return new List();
}
}
else
{
- _doorConfigs = new List();
+ return new List();
}
}
-
#endif
-}
\ No newline at end of file
+}
diff --git a/DungeonShooting_Godot/src/framework/map/SerializeVector2.cs b/DungeonShooting_Godot/src/framework/map/SerializeVector2.cs
new file mode 100644
index 0000000..a48c54d
--- /dev/null
+++ b/DungeonShooting_Godot/src/framework/map/SerializeVector2.cs
@@ -0,0 +1,38 @@
+
+using System.Text.Json.Serialization;
+using Godot;
+
+///
+/// 可序列化的 Vector2 对象
+///
+public class SerializeVector2
+{
+ public SerializeVector2(float x, float y)
+ {
+ X = x;
+ Y = y;
+ }
+
+ public SerializeVector2(Vector2 v)
+ {
+ X = v.X;
+ Y = v.Y;
+ }
+
+ public SerializeVector2(Vector2I v)
+ {
+ X = v.X;
+ Y = v.Y;
+ }
+
+ public SerializeVector2()
+ {
+
+ }
+
+
+ [JsonInclude]
+ public float X;
+ [JsonInclude]
+ public float Y;
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/manager/ResourcePath.cs b/DungeonShooting_Godot/src/game/manager/ResourcePath.cs
index 2a566f0..6ec334a 100644
--- a/DungeonShooting_Godot/src/game/manager/ResourcePath.cs
+++ b/DungeonShooting_Godot/src/game/manager/ResourcePath.cs
@@ -36,6 +36,8 @@
public const string resource_map_itchioDungeonTileset4_tsx = "res://resource/map/itch-io-DungeonTileset4.tsx";
public const string resource_map_Room1_tscn = "res://resource/map/Room1.tscn";
public const string resource_map_Room2_tscn = "res://resource/map/Room2.tscn";
+ public const string resource_map_Room3_tscn = "res://resource/map/Room3.tscn";
+ public const string resource_map_tiledata_Room1_json = "res://resource/map/tiledata/Room1.json";
public const string resource_map_tileset_TileSet1_tres = "res://resource/map/tileset/TileSet1.tres";
public const string resource_materlal_Blend_gdshader = "res://resource/materlal/Blend.gdshader";
public const string resource_materlal_Blend_tres = "res://resource/materlal/Blend.tres";