diff --git a/DungeonShooting_Godot/DungeonShooting.csproj.old b/DungeonShooting_Godot/DungeonShooting.csproj.old deleted file mode 100644 index 97e725f..0000000 --- a/DungeonShooting_Godot/DungeonShooting.csproj.old +++ /dev/null @@ -1,11 +0,0 @@ - - - net7.0 - true - - - - - - - \ No newline at end of file diff --git a/DungeonShooting_Godot/export_presets.cfg b/DungeonShooting_Godot/export_presets.cfg index dec7e9c..009af33 100644 --- a/DungeonShooting_Godot/export_presets.cfg +++ b/DungeonShooting_Godot/export_presets.cfg @@ -22,7 +22,7 @@ gradle_build/export_format=0 gradle_build/min_sdk="" gradle_build/target_sdk="" -architectures/armeabi-v7a=false +architectures/armeabi-v7a=true architectures/arm64-v8a=true architectures/x86=false architectures/x86_64=false diff --git a/DungeonShooting_Godot/prefab/ui/MapEditor.tscn b/DungeonShooting_Godot/prefab/ui/MapEditor.tscn index 6f63c6a..399fdf1 100644 --- a/DungeonShooting_Godot/prefab/ui/MapEditor.tscn +++ b/DungeonShooting_Godot/prefab/ui/MapEditor.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=3 uid="uid://csbxfkdupsckv"] +[gd_scene load_steps=15 format=3 uid="uid://csbxfkdupsckv"] [ext_resource type="Script" path="res://src/game/ui/mapEditor/MapEditorPanel.cs" id="1_5s7a0"] [ext_resource type="Texture2D" uid="uid://cajcnlimvoxk" path="res://resource/sprite/ui/commonIcon/Back.png" id="2_gkcw7"] @@ -10,6 +10,7 @@ [ext_resource type="PackedScene" uid="uid://b4u66mxndxbrg" path="res://prefab/ui/MapEditorTools.tscn" id="6_7pvgu"] [ext_resource type="PackedScene" uid="uid://bb2ekkpxifd7g" path="res://prefab/ui/MapEditorMapLayer.tscn" id="7_ychtn"] [ext_resource type="PackedScene" uid="uid://peo0n8bl15y5" path="res://prefab/ui/MapEditorMapMark.tscn" id="8_8tgeu"] +[ext_resource type="PackedScene" uid="uid://dhtfat7tr8ujw" path="res://prefab/ui/MapEditorTileSet.tscn" id="11_7yaoy"] [sub_resource type="Animation" id="Animation_o3btm"] length = 0.001 @@ -245,17 +246,25 @@ layout_mode = 2 size_flags_vertical = 3 +[node name="MapMark" type="MarginContainer" parent="Bg/VBoxContainer/HSplitContainer/Right/MarginContainer/TabContainer"] +layout_mode = 2 +theme_override_constants/margin_top = 10 + +[node name="MapEditorMapMark" parent="Bg/VBoxContainer/HSplitContainer/Right/MarginContainer/TabContainer/MapMark" instance=ExtResource("8_8tgeu")] +layout_mode = 2 + [node name="MapLayer" type="MarginContainer" parent="Bg/VBoxContainer/HSplitContainer/Right/MarginContainer/TabContainer"] +visible = false layout_mode = 2 theme_override_constants/margin_top = 10 [node name="MapEditorMapLayer" parent="Bg/VBoxContainer/HSplitContainer/Right/MarginContainer/TabContainer/MapLayer" instance=ExtResource("7_ychtn")] layout_mode = 2 -[node name="MapMark" type="MarginContainer" parent="Bg/VBoxContainer/HSplitContainer/Right/MarginContainer/TabContainer"] +[node name="MapTileSet" type="MarginContainer" parent="Bg/VBoxContainer/HSplitContainer/Right/MarginContainer/TabContainer"] visible = false layout_mode = 2 theme_override_constants/margin_top = 10 -[node name="MapEditorMapMark" parent="Bg/VBoxContainer/HSplitContainer/Right/MarginContainer/TabContainer/MapMark" instance=ExtResource("8_8tgeu")] +[node name="MapEditorTileSet" parent="Bg/VBoxContainer/HSplitContainer/Right/MarginContainer/TabContainer/MapTileSet" instance=ExtResource("11_7yaoy")] layout_mode = 2 diff --git a/DungeonShooting_Godot/prefab/ui/MapEditorTileSet.tscn b/DungeonShooting_Godot/prefab/ui/MapEditorTileSet.tscn new file mode 100644 index 0000000..955772b --- /dev/null +++ b/DungeonShooting_Godot/prefab/ui/MapEditorTileSet.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=2 format=3 uid="uid://dhtfat7tr8ujw"] + +[ext_resource type="Script" path="res://src/game/ui/mapEditorTileSet/MapEditorTileSetPanel.cs" id="1_m3lbx"] + +[node name="MapEditorTileSet" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_m3lbx") + +[node name="Label" type="Label" parent="."] +layout_mode = 0 +offset_right = 9.0 +offset_bottom = 40.0 +text = "TileSet" diff --git a/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json b/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json index 22fb78e..9daed0e 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json +++ b/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json @@ -43,6 +43,10 @@ { "ErrorType": 0, "Path": "resource/map/tileMaps/TestGroup1/inlet/Start4" + }, + { + "ErrorType": 0, + "Path": "resource/map/tileMaps/TestGroup1/inlet/Start5" } ], "OutletList": [ diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preinstall.json new file mode 100644 index 0000000..8a3f2d3 --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preinstall.json @@ -0,0 +1 @@ +[{"Name":"Preinstall1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":160,"Y":-164},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]}],[{"Position":{"X":160,"Y":-140},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0003","Weight":100,"Attr":{"CurrAmmon":"12","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]}]]}] \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png new file mode 100644 index 0000000..d0b030f --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png Binary files differ diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png.import new file mode 100644 index 0000000..35b9abb --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dfknx1exbrlr3" +path="res://.godot/imported/Preview.png-4ef7f48fbf1f8cdd60e24618c73a0558.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png" +dest_files=["res://.godot/imported/Preview.png-4ef7f48fbf1f8cdd60e24618c73a0558.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/RoomInfo.json new file mode 100644 index 0000000..d9a8221 --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/RoomInfo.json @@ -0,0 +1 @@ +{"Position":{"X":3,"Y":-16},"Size":{"X":14,"Y":12},"DoorAreaInfos":[],"GroupName":"TestGroup1","RoomType":1,"RoomName":"Start5","Weight":100,"Remark":""} \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/TileInfo.json new file mode 100644 index 0000000..6f28ca3 --- /dev/null +++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/TileInfo.json @@ -0,0 +1 @@ +{"NavigationList":[{"Type":0,"Points":[72,-232,248,-232,248,-80,72,-80]}],"Floor":[4,-15,0,0,8,4,-14,0,0,8,4,-13,0,0,8,4,-12,0,0,8,4,-11,0,0,8,4,-10,0,0,8,4,-9,0,0,8,4,-8,0,0,8,4,-7,0,0,8,4,-6,0,0,8,5,-15,0,0,8,5,-14,0,0,8,5,-13,0,0,8,5,-12,0,0,8,5,-11,0,0,8,5,-10,0,0,8,5,-9,0,0,8,5,-8,0,0,8,5,-7,0,0,8,5,-6,0,0,8,6,-15,0,0,8,6,-14,0,0,8,6,-13,0,0,8,6,-12,0,0,8,6,-11,0,0,8,6,-10,0,0,8,6,-9,0,0,8,6,-8,0,0,8,6,-7,0,0,8,6,-6,0,0,8,7,-15,0,0,8,7,-14,0,0,8,7,-13,0,0,8,7,-12,0,0,8,7,-11,0,0,8,7,-10,0,0,8,7,-9,0,0,8,7,-8,0,0,8,7,-7,0,0,8,7,-6,0,0,8,8,-15,0,0,8,8,-14,0,0,8,8,-13,0,0,8,8,-12,0,0,8,8,-11,0,0,8,8,-10,0,0,8,8,-9,0,0,8,8,-8,0,0,8,8,-7,0,0,8,8,-6,0,0,8,9,-15,0,0,8,9,-14,0,0,8,9,-13,0,0,8,9,-12,0,0,8,9,-11,0,0,8,9,-10,0,0,8,9,-9,0,0,8,9,-8,0,0,8,9,-7,0,0,8,9,-6,0,0,8,10,-15,0,0,8,10,-14,0,0,8,10,-13,0,0,8,10,-12,0,0,8,10,-11,0,0,8,10,-10,0,0,8,10,-9,0,0,8,10,-8,0,0,8,10,-7,0,0,8,10,-6,0,0,8,11,-15,0,0,8,11,-14,0,0,8,11,-13,0,0,8,11,-12,0,0,8,11,-11,0,0,8,11,-10,0,0,8,11,-9,0,0,8,11,-8,0,0,8,11,-7,0,0,8,11,-6,0,0,8,12,-15,0,0,8,12,-14,0,0,8,12,-13,0,0,8,12,-12,0,0,8,12,-11,0,0,8,12,-10,0,0,8,12,-9,0,0,8,12,-8,0,0,8,12,-7,0,0,8,12,-6,0,0,8,13,-15,0,0,8,13,-14,0,0,8,13,-13,0,0,8,13,-12,0,0,8,13,-11,0,0,8,13,-10,0,0,8,13,-9,0,0,8,13,-8,0,0,8,13,-7,0,0,8,13,-6,0,0,8,14,-15,0,0,8,14,-14,0,0,8,14,-13,0,0,8,14,-12,0,0,8,14,-11,0,0,8,14,-10,0,0,8,14,-9,0,0,8,14,-8,0,0,8,14,-7,0,0,8,14,-6,0,0,8,15,-15,0,0,8,15,-14,0,0,8,15,-13,0,0,8,15,-12,0,0,8,15,-11,0,0,8,15,-10,0,0,8,15,-9,0,0,8,15,-8,0,0,8,15,-7,0,0,8,15,-6,0,0,8],"Middle":[4,-16,0,2,7,5,-16,0,2,7,6,-16,0,2,7,7,-16,0,2,7,8,-16,0,2,7,9,-16,0,2,7,10,-16,0,2,7,11,-16,0,2,7,12,-16,0,2,7,13,-16,0,2,7,14,-16,0,2,7,15,-16,0,2,7],"Top":[3,-16,0,3,4,3,-15,0,3,3,3,-14,0,3,3,3,-13,0,3,3,3,-12,0,3,3,3,-11,0,3,3,3,-10,0,3,3,3,-9,0,3,3,3,-8,0,3,3,3,-7,0,3,3,3,-6,0,3,3,3,-5,0,11,2,4,-5,0,2,2,5,-5,0,2,2,6,-5,0,2,2,7,-5,0,2,2,8,-5,0,2,2,9,-5,0,2,2,10,-5,0,2,2,11,-5,0,2,2,12,-5,0,2,2,13,-5,0,2,2,14,-5,0,2,2,15,-5,0,2,2,16,-16,0,1,4,16,-15,0,1,3,16,-14,0,1,3,16,-13,0,1,3,16,-12,0,1,3,16,-11,0,1,3,16,-10,0,1,3,16,-9,0,1,3,16,-8,0,1,3,16,-7,0,1,3,16,-6,0,1,3,16,-5,0,13,2]} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/debug/Debug.cs b/DungeonShooting_Godot/src/framework/debug/Debug.cs index a40a1c6..2f61bb6 100644 --- a/DungeonShooting_Godot/src/framework/debug/Debug.cs +++ b/DungeonShooting_Godot/src/framework/debug/Debug.cs @@ -31,6 +31,10 @@ GD.Print(str); AllLogMessage = str + "\n" + AllLogMessage; + if (AllLogMessage.Length > 10000) + { + AllLogMessage = AllLogMessage.Substring(0, 9500); + } } /// @@ -53,6 +57,10 @@ GD.PrintErr(str); AllLogMessage = str + "\n" + AllLogMessage; + if (AllLogMessage.Length > 10000) + { + AllLogMessage = AllLogMessage.Substring(0, 9500); + } } /// diff --git a/DungeonShooting_Godot/src/framework/generator/UiManagerMethodsGenerator.cs b/DungeonShooting_Godot/src/framework/generator/UiManagerMethodsGenerator.cs index 3af101e..cc33ef6 100644 --- a/DungeonShooting_Godot/src/framework/generator/UiManagerMethodsGenerator.cs +++ b/DungeonShooting_Godot/src/framework/generator/UiManagerMethodsGenerator.cs @@ -30,14 +30,12 @@ var directoryInfo = new DirectoryInfo(GameConfig.UiPrefabDir); var fileInfos = directoryInfo.GetFiles(); - var code = $"/**\n" + - $" * 该类为自动生成的, 请不要手动编辑, 以免造成代码丢失\n" + - $" */\n" + + var code = $"\n// 该类为自动生成的, 请不要手动编辑, 以免造成代码丢失\n" + $"public static partial class UiManager\n" + $"{{\n" + $"\n"; - var uiNameClass = $" public static class UiName\n" + + var uiNameClass = $" public static class UiNames\n" + $" {{\n"; var methodClass = ""; @@ -53,7 +51,7 @@ $" /// \n" + $" public static UI.{uiName}.{uiName}Panel Create_{uiName}()\n" + $" {{\n" + - $" return CreateUi(UiName.{uiName});\n" + + $" return CreateUi(UiNames.{uiName});\n" + $" }}\n" + $"\n" + $" /// \n" + @@ -61,7 +59,7 @@ $" /// \n" + $" public static UI.{uiName}.{uiName}Panel Open_{uiName}()\n" + $" {{\n" + - $" return OpenUi(UiName.{uiName});\n" + + $" return OpenUi(UiNames.{uiName});\n" + $" }}\n" + $"\n" + $" /// \n" + diff --git a/DungeonShooting_Godot/src/game/GameApplication.cs b/DungeonShooting_Godot/src/game/GameApplication.cs index 04e90b5..3f57200 100644 --- a/DungeonShooting_Godot/src/game/GameApplication.cs +++ b/DungeonShooting_Godot/src/game/GameApplication.cs @@ -106,7 +106,7 @@ //随机化种子 //GD.Randomize(); //固定帧率 - //Engine.MaxFps = TargetFps; + Engine.MaxFps = TargetFps; //调试绘制开关 ActivityObject.IsDebug = false; //Engine.TimeScale = 0.2f; diff --git a/DungeonShooting_Godot/src/game/manager/EditorWindowManager.cs b/DungeonShooting_Godot/src/game/manager/EditorWindowManager.cs index 35f7451..a87a109 100644 --- a/DungeonShooting_Godot/src/game/manager/EditorWindowManager.cs +++ b/DungeonShooting_Godot/src/game/manager/EditorWindowManager.cs @@ -34,7 +34,7 @@ window.CloseWindow(); }) ); - var body = window.OpenBody(UiManager.UiName.EditorTips); + var body = window.OpenBody(UiManager.UiNames.EditorTips); body.SetMessage(message); } @@ -64,7 +64,7 @@ window.CloseWindow(); }) ); - var body = window.OpenBody(UiManager.UiName.EditorTips); + var body = window.OpenBody(UiManager.UiNames.EditorTips); body.SetMessage(message); } @@ -103,7 +103,7 @@ onClose(2); }) ); - var body = window.OpenBody(UiManager.UiName.EditorTips); + var body = window.OpenBody(UiManager.UiNames.EditorTips); body.SetMessage(message); } @@ -117,7 +117,7 @@ var window = CreateWindowInstance(parentUi); window.SetWindowTitle("创建地牢组"); window.SetWindowSize(new Vector2I(700, 500)); - var body = window.OpenBody(UiManager.UiName.MapEditorCreateGroup); + var body = window.OpenBody(UiManager.UiNames.MapEditorCreateGroup); window.SetButtonList( new EditorWindowPanel.ButtonData("确定", () => { @@ -147,7 +147,7 @@ var window = UiManager.Open_EditorWindow(); window.SetWindowTitle("创建地牢房间"); window.SetWindowSize(new Vector2I(700, 600)); - var body = window.OpenBody(UiManager.UiName.MapEditorCreateRoom); + var body = window.OpenBody(UiManager.UiNames.MapEditorCreateRoom); if (groupName != null) { body.SetSelectGroup(groupName); @@ -182,7 +182,7 @@ var window = UiManager.Open_EditorWindow(); window.SetWindowTitle("编辑地牢房间"); window.SetWindowSize(new Vector2I(700, 600)); - var body = window.OpenBody(UiManager.UiName.MapEditorCreateRoom); + var body = window.OpenBody(UiManager.UiNames.MapEditorCreateRoom); body.InitEditData(roomSplit); window.SetButtonList( @@ -214,7 +214,7 @@ var window = UiManager.Open_EditorWindow(); window.SetWindowTitle("创建房间预设"); window.SetWindowSize(new Vector2I(700, 600)); - var body = window.OpenBody(UiManager.UiName.MapEditorCreatePreinstall); + var body = window.OpenBody(UiManager.UiNames.MapEditorCreatePreinstall); body.InitData(roomType); window.SetButtonList( new EditorWindowPanel.ButtonData("确定", () => @@ -245,7 +245,7 @@ var window = UiManager.Open_EditorWindow(); window.SetWindowTitle("创建房间预设"); window.SetWindowSize(new Vector2I(700, 600)); - var body = window.OpenBody(UiManager.UiName.MapEditorCreatePreinstall); + var body = window.OpenBody(UiManager.UiNames.MapEditorCreatePreinstall); body.InitData(roomType, preinstallInfo); window.SetButtonList( new EditorWindowPanel.ButtonData("确定", () => @@ -276,7 +276,7 @@ var window = CreateWindowInstance(parentUi); window.SetWindowTitle("创建标记"); window.SetWindowSize(new Vector2I(1400, 900)); - var body = window.OpenBody(UiManager.UiName.MapEditorCreateMark); + var body = window.OpenBody(UiManager.UiNames.MapEditorCreateMark); body.InitData(position, preloading); window.SetButtonList( new EditorWindowPanel.ButtonData("确定", () => @@ -307,7 +307,7 @@ var window = CreateWindowInstance(parentUi); window.SetWindowTitle("编辑标记"); window.SetWindowSize(new Vector2I(1400, 900)); - var body = window.OpenBody(UiManager.UiName.MapEditorCreateMark); + var body = window.OpenBody(UiManager.UiNames.MapEditorCreateMark); body.InitData(data, preloading); window.SetButtonList( new EditorWindowPanel.ButtonData("确定", () => @@ -337,7 +337,7 @@ var window = CreateWindowInstance(parentUi); window.S_Window.Instance.Size = new Vector2I(1000, 700); window.SetWindowTitle("选择物体"); - var body = window.OpenBody(UiManager.UiName.MapEditorSelectObject); + var body = window.OpenBody(UiManager.UiNames.MapEditorSelectObject); //设置显示的物体类型 body.SetShowType(findType); window.SetButtonList( @@ -371,7 +371,7 @@ { if (parentUi != null) { - return parentUi.OpenNestedUi(UiManager.UiName.EditorWindow); + return parentUi.OpenNestedUi(UiManager.UiNames.EditorWindow); } return UiManager.Open_EditorWindow(); diff --git a/DungeonShooting_Godot/src/game/manager/ResourcePath.cs b/DungeonShooting_Godot/src/game/manager/ResourcePath.cs index bc5226c..6472a8d 100644 --- a/DungeonShooting_Godot/src/game/manager/ResourcePath.cs +++ b/DungeonShooting_Godot/src/game/manager/ResourcePath.cs @@ -77,6 +77,7 @@ public const string prefab_ui_MapEditorMapMark_tscn = "res://prefab/ui/MapEditorMapMark.tscn"; public const string prefab_ui_MapEditorProject_tscn = "res://prefab/ui/MapEditorProject.tscn"; public const string prefab_ui_MapEditorSelectObject_tscn = "res://prefab/ui/MapEditorSelectObject.tscn"; + public const string prefab_ui_MapEditorTileSet_tscn = "res://prefab/ui/MapEditorTileSet.tscn"; public const string prefab_ui_MapEditorTools_tscn = "res://prefab/ui/MapEditorTools.tscn"; public const string prefab_ui_PauseMenu_tscn = "res://prefab/ui/PauseMenu.tscn"; public const string prefab_ui_RoomMap_tscn = "res://prefab/ui/RoomMap.tscn"; diff --git a/DungeonShooting_Godot/src/game/manager/UiManager_Methods.cs b/DungeonShooting_Godot/src/game/manager/UiManager_Methods.cs index f08c798..0cc8c3f 100644 --- a/DungeonShooting_Godot/src/game/manager/UiManager_Methods.cs +++ b/DungeonShooting_Godot/src/game/manager/UiManager_Methods.cs @@ -1,10 +1,9 @@ -/** - * 该类为自动生成的, 请不要手动编辑, 以免造成代码丢失 - */ + +// 该类为自动生成的, 请不要手动编辑, 以免造成代码丢失 public static partial class UiManager { - public static class UiName + public static class UiNames { public const string BottomTips = "BottomTips"; public const string Debugger = "Debugger"; @@ -22,6 +21,7 @@ public const string MapEditorMapMark = "MapEditorMapMark"; public const string MapEditorProject = "MapEditorProject"; public const string MapEditorSelectObject = "MapEditorSelectObject"; + public const string MapEditorTileSet = "MapEditorTileSet"; public const string MapEditorTools = "MapEditorTools"; public const string PauseMenu = "PauseMenu"; public const string RoomMap = "RoomMap"; @@ -35,7 +35,7 @@ /// public static UI.BottomTips.BottomTipsPanel Create_BottomTips() { - return CreateUi(UiName.BottomTips); + return CreateUi(UiNames.BottomTips); } /// @@ -43,7 +43,7 @@ /// public static UI.BottomTips.BottomTipsPanel Open_BottomTips() { - return OpenUi(UiName.BottomTips); + return OpenUi(UiNames.BottomTips); } /// @@ -83,7 +83,7 @@ /// public static UI.Debugger.DebuggerPanel Create_Debugger() { - return CreateUi(UiName.Debugger); + return CreateUi(UiNames.Debugger); } /// @@ -91,7 +91,7 @@ /// public static UI.Debugger.DebuggerPanel Open_Debugger() { - return OpenUi(UiName.Debugger); + return OpenUi(UiNames.Debugger); } /// @@ -131,7 +131,7 @@ /// public static UI.EditorTips.EditorTipsPanel Create_EditorTips() { - return CreateUi(UiName.EditorTips); + return CreateUi(UiNames.EditorTips); } /// @@ -139,7 +139,7 @@ /// public static UI.EditorTips.EditorTipsPanel Open_EditorTips() { - return OpenUi(UiName.EditorTips); + return OpenUi(UiNames.EditorTips); } /// @@ -179,7 +179,7 @@ /// public static UI.EditorTools.EditorToolsPanel Create_EditorTools() { - return CreateUi(UiName.EditorTools); + return CreateUi(UiNames.EditorTools); } /// @@ -187,7 +187,7 @@ /// public static UI.EditorTools.EditorToolsPanel Open_EditorTools() { - return OpenUi(UiName.EditorTools); + return OpenUi(UiNames.EditorTools); } /// @@ -227,7 +227,7 @@ /// public static UI.EditorWindow.EditorWindowPanel Create_EditorWindow() { - return CreateUi(UiName.EditorWindow); + return CreateUi(UiNames.EditorWindow); } /// @@ -235,7 +235,7 @@ /// public static UI.EditorWindow.EditorWindowPanel Open_EditorWindow() { - return OpenUi(UiName.EditorWindow); + return OpenUi(UiNames.EditorWindow); } /// @@ -275,7 +275,7 @@ /// public static UI.Loading.LoadingPanel Create_Loading() { - return CreateUi(UiName.Loading); + return CreateUi(UiNames.Loading); } /// @@ -283,7 +283,7 @@ /// public static UI.Loading.LoadingPanel Open_Loading() { - return OpenUi(UiName.Loading); + return OpenUi(UiNames.Loading); } /// @@ -323,7 +323,7 @@ /// public static UI.Main.MainPanel Create_Main() { - return CreateUi(UiName.Main); + return CreateUi(UiNames.Main); } /// @@ -331,7 +331,7 @@ /// public static UI.Main.MainPanel Open_Main() { - return OpenUi(UiName.Main); + return OpenUi(UiNames.Main); } /// @@ -371,7 +371,7 @@ /// public static UI.MapEditor.MapEditorPanel Create_MapEditor() { - return CreateUi(UiName.MapEditor); + return CreateUi(UiNames.MapEditor); } /// @@ -379,7 +379,7 @@ /// public static UI.MapEditor.MapEditorPanel Open_MapEditor() { - return OpenUi(UiName.MapEditor); + return OpenUi(UiNames.MapEditor); } /// @@ -419,7 +419,7 @@ /// public static UI.MapEditorCreateGroup.MapEditorCreateGroupPanel Create_MapEditorCreateGroup() { - return CreateUi(UiName.MapEditorCreateGroup); + return CreateUi(UiNames.MapEditorCreateGroup); } /// @@ -427,7 +427,7 @@ /// public static UI.MapEditorCreateGroup.MapEditorCreateGroupPanel Open_MapEditorCreateGroup() { - return OpenUi(UiName.MapEditorCreateGroup); + return OpenUi(UiNames.MapEditorCreateGroup); } /// @@ -467,7 +467,7 @@ /// public static UI.MapEditorCreateMark.MapEditorCreateMarkPanel Create_MapEditorCreateMark() { - return CreateUi(UiName.MapEditorCreateMark); + return CreateUi(UiNames.MapEditorCreateMark); } /// @@ -475,7 +475,7 @@ /// public static UI.MapEditorCreateMark.MapEditorCreateMarkPanel Open_MapEditorCreateMark() { - return OpenUi(UiName.MapEditorCreateMark); + return OpenUi(UiNames.MapEditorCreateMark); } /// @@ -515,7 +515,7 @@ /// public static UI.MapEditorCreatePreinstall.MapEditorCreatePreinstallPanel Create_MapEditorCreatePreinstall() { - return CreateUi(UiName.MapEditorCreatePreinstall); + return CreateUi(UiNames.MapEditorCreatePreinstall); } /// @@ -523,7 +523,7 @@ /// public static UI.MapEditorCreatePreinstall.MapEditorCreatePreinstallPanel Open_MapEditorCreatePreinstall() { - return OpenUi(UiName.MapEditorCreatePreinstall); + return OpenUi(UiNames.MapEditorCreatePreinstall); } /// @@ -563,7 +563,7 @@ /// public static UI.MapEditorCreateRoom.MapEditorCreateRoomPanel Create_MapEditorCreateRoom() { - return CreateUi(UiName.MapEditorCreateRoom); + return CreateUi(UiNames.MapEditorCreateRoom); } /// @@ -571,7 +571,7 @@ /// public static UI.MapEditorCreateRoom.MapEditorCreateRoomPanel Open_MapEditorCreateRoom() { - return OpenUi(UiName.MapEditorCreateRoom); + return OpenUi(UiNames.MapEditorCreateRoom); } /// @@ -611,7 +611,7 @@ /// public static UI.MapEditorMapLayer.MapEditorMapLayerPanel Create_MapEditorMapLayer() { - return CreateUi(UiName.MapEditorMapLayer); + return CreateUi(UiNames.MapEditorMapLayer); } /// @@ -619,7 +619,7 @@ /// public static UI.MapEditorMapLayer.MapEditorMapLayerPanel Open_MapEditorMapLayer() { - return OpenUi(UiName.MapEditorMapLayer); + return OpenUi(UiNames.MapEditorMapLayer); } /// @@ -659,7 +659,7 @@ /// public static UI.MapEditorMapMark.MapEditorMapMarkPanel Create_MapEditorMapMark() { - return CreateUi(UiName.MapEditorMapMark); + return CreateUi(UiNames.MapEditorMapMark); } /// @@ -667,7 +667,7 @@ /// public static UI.MapEditorMapMark.MapEditorMapMarkPanel Open_MapEditorMapMark() { - return OpenUi(UiName.MapEditorMapMark); + return OpenUi(UiNames.MapEditorMapMark); } /// @@ -707,7 +707,7 @@ /// public static UI.MapEditorProject.MapEditorProjectPanel Create_MapEditorProject() { - return CreateUi(UiName.MapEditorProject); + return CreateUi(UiNames.MapEditorProject); } /// @@ -715,7 +715,7 @@ /// public static UI.MapEditorProject.MapEditorProjectPanel Open_MapEditorProject() { - return OpenUi(UiName.MapEditorProject); + return OpenUi(UiNames.MapEditorProject); } /// @@ -755,7 +755,7 @@ /// public static UI.MapEditorSelectObject.MapEditorSelectObjectPanel Create_MapEditorSelectObject() { - return CreateUi(UiName.MapEditorSelectObject); + return CreateUi(UiNames.MapEditorSelectObject); } /// @@ -763,7 +763,7 @@ /// public static UI.MapEditorSelectObject.MapEditorSelectObjectPanel Open_MapEditorSelectObject() { - return OpenUi(UiName.MapEditorSelectObject); + return OpenUi(UiNames.MapEditorSelectObject); } /// @@ -799,11 +799,59 @@ } /// + /// 创建 MapEditorTileSet, 并返回UI实例, 该函数不会打开 Ui + /// + public static UI.MapEditorTileSet.MapEditorTileSetPanel Create_MapEditorTileSet() + { + return CreateUi(UiNames.MapEditorTileSet); + } + + /// + /// 打开 MapEditorTileSet, 并返回UI实例 + /// + public static UI.MapEditorTileSet.MapEditorTileSetPanel Open_MapEditorTileSet() + { + return OpenUi(UiNames.MapEditorTileSet); + } + + /// + /// 隐藏 MapEditorTileSet 的所有实例 + /// + public static void Hide_MapEditorTileSet() + { + var uiInstance = Get_MapEditorTileSet_Instance(); + foreach (var uiPanel in uiInstance) + { + uiPanel.HideUi(); + } + } + + /// + /// 销毁 MapEditorTileSet 的所有实例 + /// + public static void Destroy_MapEditorTileSet() + { + var uiInstance = Get_MapEditorTileSet_Instance(); + foreach (var uiPanel in uiInstance) + { + uiPanel.Destroy(); + } + } + + /// + /// 获取所有 MapEditorTileSet 的实例, 如果没有实例, 则返回一个空数组 + /// + public static UI.MapEditorTileSet.MapEditorTileSetPanel[] Get_MapEditorTileSet_Instance() + { + return GetUiInstance(nameof(UI.MapEditorTileSet.MapEditorTileSet)); + } + + /// /// 创建 MapEditorTools, 并返回UI实例, 该函数不会打开 Ui /// public static UI.MapEditorTools.MapEditorToolsPanel Create_MapEditorTools() { - return CreateUi(UiName.MapEditorTools); + return CreateUi(UiNames.MapEditorTools); } /// @@ -811,7 +859,7 @@ /// public static UI.MapEditorTools.MapEditorToolsPanel Open_MapEditorTools() { - return OpenUi(UiName.MapEditorTools); + return OpenUi(UiNames.MapEditorTools); } /// @@ -851,7 +899,7 @@ /// public static UI.PauseMenu.PauseMenuPanel Create_PauseMenu() { - return CreateUi(UiName.PauseMenu); + return CreateUi(UiNames.PauseMenu); } /// @@ -859,7 +907,7 @@ /// public static UI.PauseMenu.PauseMenuPanel Open_PauseMenu() { - return OpenUi(UiName.PauseMenu); + return OpenUi(UiNames.PauseMenu); } /// @@ -899,7 +947,7 @@ /// public static UI.RoomMap.RoomMapPanel Create_RoomMap() { - return CreateUi(UiName.RoomMap); + return CreateUi(UiNames.RoomMap); } /// @@ -907,7 +955,7 @@ /// public static UI.RoomMap.RoomMapPanel Open_RoomMap() { - return OpenUi(UiName.RoomMap); + return OpenUi(UiNames.RoomMap); } /// @@ -947,7 +995,7 @@ /// public static UI.RoomUI.RoomUIPanel Create_RoomUI() { - return CreateUi(UiName.RoomUI); + return CreateUi(UiNames.RoomUI); } /// @@ -955,7 +1003,7 @@ /// public static UI.RoomUI.RoomUIPanel Open_RoomUI() { - return OpenUi(UiName.RoomUI); + return OpenUi(UiNames.RoomUI); } /// @@ -995,7 +1043,7 @@ /// public static UI.Setting.SettingPanel Create_Setting() { - return CreateUi(UiName.Setting); + return CreateUi(UiNames.Setting); } /// @@ -1003,7 +1051,7 @@ /// public static UI.Setting.SettingPanel Open_Setting() { - return OpenUi(UiName.Setting); + return OpenUi(UiNames.Setting); } /// @@ -1043,7 +1091,7 @@ /// public static UI.Settlement.SettlementPanel Create_Settlement() { - return CreateUi(UiName.Settlement); + return CreateUi(UiNames.Settlement); } /// @@ -1051,7 +1099,7 @@ /// public static UI.Settlement.SettlementPanel Open_Settlement() { - return OpenUi(UiName.Settlement); + return OpenUi(UiNames.Settlement); } /// diff --git a/DungeonShooting_Godot/src/game/ui/bottomTips/BottomTipsPanel.cs b/DungeonShooting_Godot/src/game/ui/bottomTips/BottomTipsPanel.cs index 495fb5d..53ebf27 100644 --- a/DungeonShooting_Godot/src/game/ui/bottomTips/BottomTipsPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/bottomTips/BottomTipsPanel.cs @@ -100,7 +100,7 @@ private static BottomTipsPanel _instance; public static void Init() { - _instance = UiManager.CreateUi(UiManager.UiName.BottomTips); + _instance = UiManager.CreateUi(UiManager.UiNames.BottomTips); } /// diff --git a/DungeonShooting_Godot/src/game/ui/debugger/DebuggerPanel.cs b/DungeonShooting_Godot/src/game/ui/debugger/DebuggerPanel.cs index 62c13bb..0b7ca80 100644 --- a/DungeonShooting_Godot/src/game/ui/debugger/DebuggerPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/debugger/DebuggerPanel.cs @@ -52,7 +52,7 @@ } } - S_Fps.Instance.Text = "FPS:" + Engine.GetFramesPerSecond(); + S_Fps.Instance.Text = "FPS:" + Mathf.RoundToInt(Engine.GetFramesPerSecond()); } private void OnMouseDown() diff --git a/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs b/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs index e84b0b3..c0008e9 100644 --- a/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs @@ -42,12 +42,12 @@ //点击开发者工具 private void OnToolsClick() { - OpenNextUi(UiManager.UiName.MapEditorProject); + OpenNextUi(UiManager.UiNames.MapEditorProject); } //点击设置按钮 private void OnSettingClick() { - OpenNextUi(UiManager.UiName.Setting); + OpenNextUi(UiManager.UiNames.Setting); } } diff --git a/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditor.cs b/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditor.cs index 01274ad..4d94396 100644 --- a/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditor.cs +++ b/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditor.cs @@ -32,15 +32,20 @@ inst1.L_MapEditorTools.Instance.OnCreateUi(); inst1.L_MapEditorTools.Instance.OnInitNestedUi(); - var inst2 = L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapLayer; - RecordNestedUi(inst2.L_MapEditorMapLayer.Instance, inst2, UiManager.RecordType.Open); - inst2.L_MapEditorMapLayer.Instance.OnCreateUi(); - inst2.L_MapEditorMapLayer.Instance.OnInitNestedUi(); + var inst2 = L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapMark; + RecordNestedUi(inst2.L_MapEditorMapMark.Instance, inst2, UiManager.RecordType.Open); + inst2.L_MapEditorMapMark.Instance.OnCreateUi(); + inst2.L_MapEditorMapMark.Instance.OnInitNestedUi(); - var inst3 = L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapMark; - RecordNestedUi(inst3.L_MapEditorMapMark.Instance, inst3, UiManager.RecordType.Open); - inst3.L_MapEditorMapMark.Instance.OnCreateUi(); - inst3.L_MapEditorMapMark.Instance.OnInitNestedUi(); + var inst3 = L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapLayer; + RecordNestedUi(inst3.L_MapEditorMapLayer.Instance, inst3, UiManager.RecordType.Open); + inst3.L_MapEditorMapLayer.Instance.OnCreateUi(); + inst3.L_MapEditorMapLayer.Instance.OnInitNestedUi(); + + var inst4 = L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapTileSet; + RecordNestedUi(inst4.L_MapEditorTileSet.Instance, inst4, UiManager.RecordType.Open); + inst4.L_MapEditorTileSet.Instance.OnCreateUi(); + inst4.L_MapEditorTileSet.Instance.OnInitNestedUi(); } @@ -400,44 +405,6 @@ } /// - /// 类型: , 路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapLayer.MapEditorMapLayer - /// - public class MapEditorMapLayer : UiNode - { - public MapEditorMapLayer(MapEditorPanel uiPanel, UI.MapEditorMapLayer.MapEditorMapLayerPanel node) : base(uiPanel, node) { } - public override MapEditorMapLayer Clone() - { - var uiNode = new MapEditorMapLayer(UiPanel, (UI.MapEditorMapLayer.MapEditorMapLayerPanel)Instance.Duplicate()); - UiPanel.RecordNestedUi(uiNode.Instance, this, UiManager.RecordType.Open); - uiNode.Instance.OnCreateUi(); - uiNode.Instance.OnInitNestedUi(); - return uiNode; - } - } - - /// - /// 类型: , 路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapLayer - /// - public class MapLayer : UiNode - { - /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapEditorMapLayer - /// - public MapEditorMapLayer L_MapEditorMapLayer - { - get - { - if (_L_MapEditorMapLayer == null) _L_MapEditorMapLayer = new MapEditorMapLayer(UiPanel, Instance.GetNode("MapEditorMapLayer")); - return _L_MapEditorMapLayer; - } - } - private MapEditorMapLayer _L_MapEditorMapLayer; - - public MapLayer(MapEditorPanel uiPanel, Godot.MarginContainer node) : base(uiPanel, node) { } - public override MapLayer Clone() => new (UiPanel, (Godot.MarginContainer)Instance.Duplicate()); - } - - /// /// 类型: , 路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapMark.MapEditorMapMark /// public class MapEditorMapMark : UiNode @@ -476,11 +443,100 @@ } /// + /// 类型: , 路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapLayer.MapEditorMapLayer + /// + public class MapEditorMapLayer : UiNode + { + public MapEditorMapLayer(MapEditorPanel uiPanel, UI.MapEditorMapLayer.MapEditorMapLayerPanel node) : base(uiPanel, node) { } + public override MapEditorMapLayer Clone() + { + var uiNode = new MapEditorMapLayer(UiPanel, (UI.MapEditorMapLayer.MapEditorMapLayerPanel)Instance.Duplicate()); + UiPanel.RecordNestedUi(uiNode.Instance, this, UiManager.RecordType.Open); + uiNode.Instance.OnCreateUi(); + uiNode.Instance.OnInitNestedUi(); + return uiNode; + } + } + + /// + /// 类型: , 路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapLayer + /// + public class MapLayer : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapEditorMapLayer + /// + public MapEditorMapLayer L_MapEditorMapLayer + { + get + { + if (_L_MapEditorMapLayer == null) _L_MapEditorMapLayer = new MapEditorMapLayer(UiPanel, Instance.GetNode("MapEditorMapLayer")); + return _L_MapEditorMapLayer; + } + } + private MapEditorMapLayer _L_MapEditorMapLayer; + + public MapLayer(MapEditorPanel uiPanel, Godot.MarginContainer node) : base(uiPanel, node) { } + public override MapLayer Clone() => new (UiPanel, (Godot.MarginContainer)Instance.Duplicate()); + } + + /// + /// 类型: , 路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapTileSet.MapEditorTileSet + /// + public class MapEditorTileSet : UiNode + { + public MapEditorTileSet(MapEditorPanel uiPanel, UI.MapEditorTileSet.MapEditorTileSetPanel node) : base(uiPanel, node) { } + public override MapEditorTileSet Clone() + { + var uiNode = new MapEditorTileSet(UiPanel, (UI.MapEditorTileSet.MapEditorTileSetPanel)Instance.Duplicate()); + UiPanel.RecordNestedUi(uiNode.Instance, this, UiManager.RecordType.Open); + uiNode.Instance.OnCreateUi(); + uiNode.Instance.OnInitNestedUi(); + return uiNode; + } + } + + /// + /// 类型: , 路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapTileSet + /// + public class MapTileSet : UiNode + { + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapEditorTileSet + /// + public MapEditorTileSet L_MapEditorTileSet + { + get + { + if (_L_MapEditorTileSet == null) _L_MapEditorTileSet = new MapEditorTileSet(UiPanel, Instance.GetNode("MapEditorTileSet")); + return _L_MapEditorTileSet; + } + } + private MapEditorTileSet _L_MapEditorTileSet; + + public MapTileSet(MapEditorPanel uiPanel, Godot.MarginContainer node) : base(uiPanel, node) { } + public override MapTileSet Clone() => new (UiPanel, (Godot.MarginContainer)Instance.Duplicate()); + } + + /// /// 类型: , 路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer /// public class TabContainer : UiNode { /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.MapMark + /// + public MapMark L_MapMark + { + get + { + if (_L_MapMark == null) _L_MapMark = new MapMark(UiPanel, Instance.GetNode("MapMark")); + return _L_MapMark; + } + } + private MapMark _L_MapMark; + + /// /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.MapLayer /// public MapLayer L_MapLayer @@ -494,17 +550,17 @@ private MapLayer _L_MapLayer; /// - /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.MapMark + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.MapTileSet /// - public MapMark L_MapMark + public MapTileSet L_MapTileSet { get { - if (_L_MapMark == null) _L_MapMark = new MapMark(UiPanel, Instance.GetNode("MapMark")); - return _L_MapMark; + if (_L_MapTileSet == null) _L_MapTileSet = new MapTileSet(UiPanel, Instance.GetNode("MapTileSet")); + return _L_MapTileSet; } } - private MapMark _L_MapMark; + private MapTileSet _L_MapTileSet; public TabContainer(MapEditorPanel uiPanel, Godot.TabContainer node) : base(uiPanel, node) { } public override TabContainer Clone() => new (UiPanel, (Godot.TabContainer)Instance.Duplicate()); @@ -728,6 +784,16 @@ public Left S_Left => L_Bg.L_VBoxContainer.L_HSplitContainer.L_Left; /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapMark.MapEditorMapMark + /// + public MapEditorMapMark S_MapEditorMapMark => L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapMark.L_MapEditorMapMark; + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapMark + /// + public MapMark S_MapMark => L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapMark; + + /// /// 场景中唯一名称的节点, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapLayer.MapEditorMapLayer /// public MapEditorMapLayer S_MapEditorMapLayer => L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapLayer.L_MapEditorMapLayer; @@ -738,14 +804,14 @@ public MapLayer S_MapLayer => L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapLayer; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapMark.MapEditorMapMark + /// 场景中唯一名称的节点, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapTileSet.MapEditorTileSet /// - public MapEditorMapMark S_MapEditorMapMark => L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapMark.L_MapEditorMapMark; + public MapEditorTileSet S_MapEditorTileSet => L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapTileSet.L_MapEditorTileSet; /// - /// 场景中唯一名称的节点, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapMark + /// 场景中唯一名称的节点, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer.MapTileSet /// - public MapMark S_MapMark => L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapMark; + public MapTileSet S_MapTileSet => L_Bg.L_VBoxContainer.L_HSplitContainer.L_Right.L_MarginContainer.L_TabContainer.L_MapTileSet; /// /// 场景中唯一名称的节点, 节点类型: , 节点路径: MapEditor.Bg.VBoxContainer.HSplitContainer.Right.MarginContainer.TabContainer diff --git a/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs index 8b81907..8dbcf13 100644 --- a/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs @@ -32,8 +32,9 @@ tileSetAtlasSource.Texture = ImageTexture.CreateFromImage(Image.LoadFromFile("resource/map/tileSprite/map1/16x16 dungeon ii wall reconfig v04 spritesheet.png")); S_TileMap.Instance.TileSet = tileSet; - S_TabContainer.Instance.SetTabTitle(0, "地图"); - S_TabContainer.Instance.SetTabTitle(1, "对象"); + S_TabContainer.Instance.SetTabTitle(0, "对象"); + S_TabContainer.Instance.SetTabTitle(1, "图层"); + S_TabContainer.Instance.SetTabTitle(2, "图块"); //S_MapLayer.Instance.Init(S_MapLayer); S_Left.Instance.Resized += OnMapViewResized; S_Back.Instance.Pressed += OnBackClick; diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorTileSet/MapEditorTileSet.cs b/DungeonShooting_Godot/src/game/ui/mapEditorTileSet/MapEditorTileSet.cs new file mode 100644 index 0000000..6d59628 --- /dev/null +++ b/DungeonShooting_Godot/src/game/ui/mapEditorTileSet/MapEditorTileSet.cs @@ -0,0 +1,46 @@ +namespace UI.MapEditorTileSet; + +/// +/// Ui代码, 该类是根据ui场景自动生成的, 请不要手动编辑该类, 以免造成代码丢失 +/// +public abstract partial class MapEditorTileSet : UiBase +{ + /// + /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: MapEditorTileSet.Label + /// + public Label L_Label + { + get + { + if (_L_Label == null) _L_Label = new Label((MapEditorTileSetPanel)this, GetNode("Label")); + return _L_Label; + } + } + private Label _L_Label; + + + public MapEditorTileSet() : base(nameof(MapEditorTileSet)) + { + } + + public sealed override void OnInitNestedUi() + { + + } + + /// + /// 类型: , 路径: MapEditorTileSet.Label + /// + public class Label : UiNode + { + public Label(MapEditorTileSetPanel uiPanel, Godot.Label node) : base(uiPanel, node) { } + public override Label Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate()); + } + + + /// + /// 场景中唯一名称的节点, 节点类型: , 节点路径: MapEditorTileSet.Label + /// + public Label S_Label => L_Label; + +} diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorTileSet/MapEditorTileSetPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditorTileSet/MapEditorTileSetPanel.cs new file mode 100644 index 0000000..fbc477e --- /dev/null +++ b/DungeonShooting_Godot/src/game/ui/mapEditorTileSet/MapEditorTileSetPanel.cs @@ -0,0 +1,18 @@ +using Godot; + +namespace UI.MapEditorTileSet; + +public partial class MapEditorTileSetPanel : MapEditorTileSet +{ + + public override void OnCreateUi() + { + + } + + public override void OnDestroyUi() + { + + } + +} diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorTools/MapEditorToolsPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditorTools/MapEditorToolsPanel.cs index eb30575..50c278b 100644 --- a/DungeonShooting_Godot/src/game/ui/mapEditorTools/MapEditorToolsPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/mapEditorTools/MapEditorToolsPanel.cs @@ -122,7 +122,7 @@ S_ToolRoot.Instance.Modulate = new Color(1, 1, 1, 0.4f); } - IsOpenPopUps = UiManager.GetUiInstanceCount(UiManager.UiName.EditorWindow) > 0; + IsOpenPopUps = UiManager.GetUiInstanceCount(UiManager.UiNames.EditorWindow) > 0; } //刷新标记 diff --git a/DungeonShooting_Godot/src/game/ui/roomMap/RoomMapPanel.cs b/DungeonShooting_Godot/src/game/ui/roomMap/RoomMapPanel.cs index d2d9c77..8668ab5 100644 --- a/DungeonShooting_Godot/src/game/ui/roomMap/RoomMapPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/roomMap/RoomMapPanel.cs @@ -68,7 +68,7 @@ //按下地图按键 if (InputManager.Map && !_isMagnifyMap && !_pressMapFlag) //展开小地图 { - if (UiManager.GetUiInstanceCount(UiManager.UiName.PauseMenu) == 0) + if (UiManager.GetUiInstanceCount(UiManager.UiNames.PauseMenu) == 0) { World.Current.Pause = true; _pressMapFlag = true;