diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/outlet/End1/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/Test1/outlet/End1/Preinstall.json
index a9f951a..cc0f6ed 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/Test1/outlet/End1/Preinstall.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/outlet/End1/Preinstall.json
@@ -1 +1 @@
-[{"Name":"Preinstall1","Weight":100,"Remark":"","AutoFill":true,"WaveList":[[]]}]
\ No newline at end of file
+[{"Name":"Preinstall1","Weight":100,"Remark":"","AutoFill":true,"WaveList":[[{"Position":{"X":8,"Y":-8},"Size":{"X":14,"Y":14},"SpecialMarkType":2,"DelayTime":0,"MarkList":[]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/outlet/End1/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/Test1/outlet/End1/Preview.png
index 569099e..fcbb563 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/Test1/outlet/End1/Preview.png
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/outlet/End1/Preview.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/outlet/End1/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/Test1/outlet/End1/TileInfo.json
index bee29f2..3880d49 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/Test1/outlet/End1/TileInfo.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/outlet/End1/TileInfo.json
@@ -1 +1 @@
-{"NavigationVertices":[{"X":22,"Y":22},{"X":58,"Y":50},{"X":-42,"Y":50},{"X":-6,"Y":22},{"X":58,"Y":-58},{"X":22,"Y":-30},{"X":-26,"Y":-58},{"X":-6,"Y":-30},{"X":-26,"Y":-42},{"X":-42,"Y":-42}],"NavigationPolygon":[[0,1,2,3],[4,1,0,5],[6,4,5,7,8],[7,3,2,9,8]],"Floor":[-2,-1,0,3,-2,-2,0,3,-1,-2,0,3,1,-2,0,3,1,-1,0,3,2,-1,0,3,-1,-1,0,3,-2,0,0,3,-2,1,0,3,-1,1,0,3,0,1,0,3,1,1,0,3,2,1,0,3,2,0,0,3,1,0,0,3,-1,0,0,3,2,-2,0,3,2,-3,0,3,1,-3,0,3,0,-3,0,3,-1,-3,0,3,-2,-3,0,3,-2,2,0,3,-1,2,0,3,0,2,0,3,1,2,0,3,2,2,0,3,3,2,0,3,3,1,0,3,3,0,0,3,3,-1,0,3,3,-2,0,3,3,-3,0,3,3,-4,0,3,2,-4,0,3,1,-4,0,3,0,-4,0,3,-1,-4,0,3,-2,-4,0,3,-3,-3,0,3,-3,-2,0,3,-3,-1,0,3,-3,0,0,3,-3,1,0,3,-3,2,0,3],"Middle":[-3,-6,27,1,-3,-5,3,2,-3,-4,7,2,-2,-7,63,1,-2,-6,2,2,-2,-5,6,2,-1,-7,63,1,-1,-6,2,2,-1,-5,6,2,0,-7,63,1,0,-6,2,2,0,-5,6,2,0,-2,16,1,0,-1,0,2,0,0,4,2,1,-7,63,1,1,-6,2,2,1,-5,6,2,2,-7,63,1,2,-6,2,2,2,-5,6,2,3,-7,63,1,3,-6,2,2,3,-5,6,2],"Top":[-5,-7,511,1,-5,-6,511,1,-5,-5,511,1,-5,-4,511,1,-5,-3,511,1,-5,-2,511,1,-5,-1,511,1,-5,0,511,1,-5,1,511,1,-5,2,511,1,-5,3,511,1,-5,4,511,1,-4,-8,511,1,-4,-7,511,1,-4,-6,255,1,-4,-5,219,1,-4,-4,219,1,-4,-3,219,1,-4,-2,219,1,-4,-1,219,1,-4,0,219,1,-4,1,219,1,-4,2,219,1,-4,3,507,1,-4,4,511,1,-3,-8,511,1,-3,-7,255,1,-3,3,504,1,-3,4,511,1,-2,-8,511,1,-2,3,504,1,-2,4,511,1,-1,-8,511,1,-1,3,504,1,-1,4,511,1,0,-8,511,1,0,3,504,1,0,4,511,1,1,-8,511,1,1,3,504,1,1,4,511,1,2,-8,511,1,2,3,504,1,2,4,511,1,3,-8,511,1,3,3,504,1,3,4,511,1,4,-8,511,1,4,-7,447,1,4,-6,438,1,4,-5,438,1,4,-4,438,1,4,-3,438,1,4,-2,438,1,4,-1,438,1,4,0,438,1,4,1,438,1,4,2,438,1,4,3,510,1,4,4,511,1,5,-8,511,1,5,-7,511,1,5,-6,511,1,5,-5,511,1,5,-4,511,1,5,-3,511,1,5,-2,511,1,5,-1,511,1,5,0,511,1,5,1,511,1,5,2,511,1,5,3,511,1,5,4,511,1],"CustomFloor1":[],"CustomFloor2":[],"CustomFloor3":[],"CustomMiddle1":[],"CustomMiddle2":[],"CustomTop":[]}
\ No newline at end of file
+{"NavigationVertices":[{"X":58,"Y":-58},{"X":58,"Y":58},{"X":-42,"Y":58},{"X":-26,"Y":-42},{"X":-42,"Y":-42},{"X":-26,"Y":-58}],"NavigationPolygon":[[0,1,2,3],[2,4,3],[0,3,5]],"Floor":[-2,-1,0,3,-2,-2,0,3,-1,-2,0,3,1,-2,0,3,1,-1,0,3,2,-1,0,3,-1,-1,0,3,-2,0,0,3,-2,1,0,3,-1,1,0,3,0,1,0,3,1,1,0,3,2,1,0,3,2,0,0,3,1,0,0,3,-1,0,0,3,2,-2,0,3,2,-3,0,3,1,-3,0,3,0,-3,0,3,-1,-3,0,3,-2,-3,0,3,-2,2,0,3,-1,2,0,3,0,2,0,3,1,2,0,3,2,2,0,3,3,2,0,3,3,1,0,3,3,0,0,3,3,-1,0,3,3,-2,0,3,3,-3,0,3,3,-4,0,3,2,-4,0,3,1,-4,0,3,0,-4,0,3,-1,-4,0,3,-2,-4,0,3,-3,-3,0,3,-3,-2,0,3,-3,-1,0,3,-3,0,0,3,-3,1,0,3,-3,2,0,3,0,0,0,3,0,-2,0,3,0,-1,0,3],"CustomFloor1":[],"CustomFloor2":[],"CustomFloor3":[],"CustomMiddle1":[],"CustomMiddle2":[],"CustomTop":[]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/preinstall/PreinstallMarkManager.cs b/DungeonShooting_Godot/src/framework/map/preinstall/PreinstallMarkManager.cs
index f292bd4..45501bf 100644
--- a/DungeonShooting_Godot/src/framework/map/preinstall/PreinstallMarkManager.cs
+++ b/DungeonShooting_Godot/src/framework/map/preinstall/PreinstallMarkManager.cs
@@ -102,6 +102,10 @@
{
return "出生标记";
}
+ else if (type == SpecialMarkType.OutPoint)
+ {
+ return "出口标记";
+ }
return string.Empty;
}
diff --git a/DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs b/DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs
index 47a70cc..827259a 100644
--- a/DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs
+++ b/DungeonShooting_Godot/src/framework/map/preinstall/RoomPreinstall.cs
@@ -170,6 +170,10 @@
{
}
+ else if (markInfo.SpecialMarkType == SpecialMarkType.OutPoint) //出口标记
+ {
+
+ }
else
{
Debug.LogError("暂未支持的类型: " + markInfo.SpecialMarkType);
diff --git a/DungeonShooting_Godot/src/framework/map/preinstall/SpecialMarkType.cs b/DungeonShooting_Godot/src/framework/map/preinstall/SpecialMarkType.cs
index 5af5be5..385cff3 100644
--- a/DungeonShooting_Godot/src/framework/map/preinstall/SpecialMarkType.cs
+++ b/DungeonShooting_Godot/src/framework/map/preinstall/SpecialMarkType.cs
@@ -12,4 +12,8 @@
/// 玩家出生点
///
BirthPoint,
+ ///
+ /// 地牢出口
+ ///
+ OutPoint,
}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/serialize/room/RoomPreinstallInfo.cs b/DungeonShooting_Godot/src/framework/map/serialize/room/RoomPreinstallInfo.cs
index f9b0f11..2cb7c7f 100644
--- a/DungeonShooting_Godot/src/framework/map/serialize/room/RoomPreinstallInfo.cs
+++ b/DungeonShooting_Godot/src/framework/map/serialize/room/RoomPreinstallInfo.cs
@@ -47,20 +47,29 @@
new List()
};
}
-
+
///
/// 初始化特殊标记
///
public void InitSpecialMark(DungeonRoomType roomType)
{
+ var type = SpecialMarkType.Normal;
if (roomType == DungeonRoomType.Inlet) //初始房间
{
+ type = SpecialMarkType.BirthPoint;
+ }
+ else if (roomType == DungeonRoomType.Outlet) //结束房间
+ {
+ type = SpecialMarkType.OutPoint;
+ }
+
+ if (type != SpecialMarkType.Normal)
+ {
var preloading = WaveList[0];
- //玩家标记
var markInfo = new MarkInfo();
markInfo.Position = new SerializeVector2();
markInfo.Size = new SerializeVector2();
- markInfo.SpecialMarkType = SpecialMarkType.BirthPoint;
+ markInfo.SpecialMarkType = type;
markInfo.MarkList = new List();
preloading.Add(markInfo);
}
diff --git a/DungeonShooting_Godot/src/game/manager/ResourceManager.cs b/DungeonShooting_Godot/src/game/manager/ResourceManager.cs
index 09bdfea..89a8e0d 100644
--- a/DungeonShooting_Godot/src/game/manager/ResourceManager.cs
+++ b/DungeonShooting_Godot/src/game/manager/ResourceManager.cs
@@ -182,6 +182,10 @@
{
return LoadTexture2D(ResourcePath.resource_sprite_ui_commonIcon_BirthMark_png);
}
+ else if (markInfo.SpecialMarkType == SpecialMarkType.OutPoint) //出口标记
+ {
+ return LoadTexture2D(ResourcePath.resource_sprite_ui_commonIcon_BirthMark_png);
+ }
else if (markInfo.MarkList != null) //普通标记
{
if (markInfo.MarkList.Count > 1) //多个物体
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorCreateMark/MapEditorCreateMarkPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditorCreateMark/MapEditorCreateMarkPanel.cs
index 0ac1067..4b899e9 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorCreateMark/MapEditorCreateMarkPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorCreateMark/MapEditorCreateMarkPanel.cs
@@ -78,7 +78,7 @@
S_DelayInput.Instance.Value = data.DelayTime;
}
- if (_markInfo.SpecialMarkType == SpecialMarkType.BirthPoint) //出生标记
+ if (_markInfo.SpecialMarkType != SpecialMarkType.Normal) //特殊标记
{
var markInfoItem = new MarkInfoItem();
markInfoItem.SpecialMarkType = _markInfo.SpecialMarkType;
@@ -134,6 +134,10 @@
{
}
+ else if (data.SpecialMarkType == SpecialMarkType.OutPoint) //出口标记
+ {
+
+ }
else //普通标记
{
var gridCount = _grid.Count;
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorCreateMark/MarkObjectCell.cs b/DungeonShooting_Godot/src/game/ui/mapEditorCreateMark/MarkObjectCell.cs
index aed3c2b..5211359 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorCreateMark/MarkObjectCell.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorCreateMark/MarkObjectCell.cs
@@ -29,7 +29,7 @@
//权重
CellNode.L_VBoxContainer.L_HBoxContainer.L_WeightEdit.Instance.Value = data.Weight;
- if (data.SpecialMarkType == SpecialMarkType.BirthPoint) //出生标记
+ if (data.SpecialMarkType != SpecialMarkType.Normal) //特殊标记
{
//物体名称
CellNode.L_VBoxContainer.L_HBoxContainer.L_NameLabel.Instance.Text = PreinstallMarkManager.GetSpecialName(data.SpecialMarkType);
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorMapMark/MapEditorMapMarkPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditorMapMark/MapEditorMapMarkPanel.cs
index 712977d..638b735 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorMapMark/MapEditorMapMarkPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorMapMark/MapEditorMapMarkPanel.cs
@@ -214,7 +214,7 @@
{
var markCell = (EditorMarkCell)uiCell;
var markType = markCell.Data.MarkInfo.SpecialMarkType;
- if (markType == SpecialMarkType.BirthPoint) //某些特殊标记不能删除
+ if (markType != SpecialMarkType.Normal) //特殊标记不能删除
{
S_DynamicTool.L_EditButton.Instance.Visible = true;
S_DynamicTool.L_DeleteButton.Instance.Visible = false;