选择并绘制图块
1 parent fac02c8 commit ce925b02239684dda94d70632e9752afa9b31637
@小李xl 小李xl authored on 16 Jan 2024
Showing 10 changed files
View
18
DungeonShooting_Godot/prefab/ui/MapEditorMapTile.tscn
[gd_scene load_steps=7 format=3 uid="uid://tjbfj67t5akm"]
 
[ext_resource type="Script" path="res://src/game/ui/mapEditorMapTile/MapEditorMapTilePanel.cs" id="1_gtth6"]
[ext_resource type="Script" path="res://src/game/ui/mapEditorMapTile/SingleTileTab.cs" id="2_jqu4q"]
[ext_resource type="Script" path="res://src/game/ui/mapEditorMapTile/FreeTileTab.cs" id="2_5c2no"]
[ext_resource type="Texture2D" uid="uid://d2wslibovwv7w" path="res://resource/sprite/ui/commonIcon/CenterTool.png" id="3_sibps"]
[ext_resource type="Script" path="res://src/game/ui/mapEditorMapTile/TerrainTileTab.cs" id="4_jxcal"]
[ext_resource type="Texture2D" uid="uid://bn47bmilcw4x0" path="res://resource/sprite/ui/commonIcon/Select2.png" id="5_f4thw"]
[ext_resource type="Script" path="res://src/game/ui/mapEditorMapTile/CombinationTileTab.cs" id="5_ty17f"]
layout_mode = 2
size_flags_horizontal = 3
item_count = 3
selected = 0
popup/item_0/text = "单格"
popup/item_0/text = "自由绘制"
popup/item_0/id = 0
popup/item_1/text = "地形"
popup/item_1/text = "地形绘制"
popup/item_1/id = 1
popup/item_2/text = "组合"
popup/item_2/text = "组合绘制"
popup/item_2/id = 2
 
[node name="Panel" type="Panel" parent="VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_right = 2
theme_override_constants/margin_bottom = 2
 
[node name="Tab1" type="ColorRect" parent="VBoxContainer/Panel/MarginContainer"]
visible = false
clip_children = 2
layout_mode = 2
color = Color(0.145098, 0.145098, 0.145098, 1)
script = ExtResource("2_jqu4q")
script = ExtResource("2_5c2no")
 
[node name="TabRoot" type="Control" parent="VBoxContainer/Panel/MarginContainer/Tab1"]
layout_mode = 1
anchors_preset = 8
 
[node name="TileSprite" type="Sprite2D" parent="VBoxContainer/Panel/MarginContainer/Tab1/TabRoot"]
centered = false
 
[node name="Brush" type="Control" parent="VBoxContainer/Panel/MarginContainer/Tab1/TabRoot"]
anchors_preset = 0
offset_right = 1.0
offset_bottom = 1.0
mouse_filter = 2
 
[node name="Grid" type="ColorRect" parent="VBoxContainer/Panel/MarginContainer/Tab1"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
ignore_texture_size = true
stretch_mode = 5
 
[node name="Tab2" type="Control" parent="VBoxContainer/Panel/MarginContainer"]
visible = false
layout_mode = 2
script = ExtResource("4_jxcal")
 
[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer/Panel/MarginContainer/Tab2"]
View
2
■■■
DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/Preinstall.json
[{"Name":"Preinstall1","Weight":100,"Remark":"","WaveList":[[]]}]
[{"Name":"Preinstall1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":31,"Y":-17},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]}]]}]
View
2
■■■
DungeonShooting_Godot/resource/map/tileMaps/Test1/inlet/Start1/Preinstall.json
[{"Name":"Preinstall1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":0,"Y":0},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]}]]}]
[{"Name":"Preinstall1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":0,"Y":0},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":16,"Y":-16},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]}]]}]
View
32
DungeonShooting_Godot/src/framework/InfiniteGrid.cs
}
}
}
}
 
/// <summary>
/// 获取网格的包围矩形
/// </summary>
public Rect2I GetRect()
{
var flag = false;
var minX = int.MaxValue;
var minY = int.MaxValue;
var maxX = int.MinValue;
var maxY = int.MinValue;
foreach (var pair1 in _map)
{
var x = pair1.Key;
foreach (var pair2 in pair1.Value)
{
var y = pair2.Key;
minX = Mathf.Min(x, minX);
minY = Mathf.Min(y, minY);
maxX = Mathf.Max(x, maxX);
maxY = Mathf.Max(y, maxY);
flag = true;
}
}
 
if (!flag)
{
return new Rect2I();
}
 
return new Rect2I(minX, minY, maxX - minX + 1, maxY - minY + 1);
}
}
View
DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
View
DungeonShooting_Godot/src/game/ui/mapEditorMapTile/FreeTileTab.cs 0 → 100644
View
DungeonShooting_Godot/src/game/ui/mapEditorMapTile/MapEditorMapTile.cs
View
DungeonShooting_Godot/src/game/ui/mapEditorMapTile/MapEditorMapTilePanel.cs
View
DungeonShooting_Godot/src/game/ui/mapEditorMapTile/SingleTileTab.cs 100644 → 0
View
DungeonShooting_Godot/src/game/ui/tileSetEditorCombination/leftTop/TileEditCombination.cs