导入组合图块, 弹窗预览
1 parent e2eba84 commit a5df04695dd218c4c4a9add5fc3a116268e54bff
@小李xl 小李xl authored on 19 Dec 2023
Showing 10 changed files
View
29
DungeonShooting_Godot/prefab/ui/EditorImportCombination.tscn
placeholder_text = "请输入组合名称"
 
[node name="HBoxContainer2" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
 
[node name="PreviewLabel" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer2"]
layout_mode = 2
size_flags_horizontal = 3
text = "预览:"
horizontal_alignment = 2
vertical_alignment = 1
 
[node name="PreviewTexture" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer2"]
[node name="PreviewBg" type="ColorRect" parent="MarginContainer/VBoxContainer/HBoxContainer2"]
clip_children = 2
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 80.0
color = Color(0.270588, 0.270588, 0.270588, 1)
 
[node name="PreviewTexture" type="TextureRect" parent="MarginContainer/VBoxContainer/HBoxContainer2/PreviewBg"]
custom_minimum_size = Vector2(0, 300)
layout_mode = 2
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 80.0
expand_mode = 2
stretch_mode = 5
View
1
■■■■
DungeonShooting_Godot/prefab/ui/TileSetEditorCombination.tscn
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_to1lc")
Layer = null
 
[node name="HSplitContainer" type="HSplitContainer" parent="."]
layout_mode = 1
anchors_preset = 15
View
24
DungeonShooting_Godot/src/framework/common/Utils.cs
/// </summary>
public static Rect2I CalcTileRect(IEnumerable<SerializeVector2> cells)
{
//单位: 像素
var canvasXStart = int.MaxValue;
var canvasYStart = int.MaxValue;
var canvasXEnd = int.MinValue;
var canvasYEnd = int.MinValue;
var canvasXStart = float.MaxValue;
var canvasYStart = float.MaxValue;
var canvasXEnd = float.MinValue;
var canvasYEnd = float.MinValue;
 
foreach (var pos in cells)
{
canvasXStart = (int)Mathf.Min(pos.X, canvasXStart);
canvasYStart = (int)Mathf.Min(pos.Y, canvasYStart);
canvasXEnd = (int)Mathf.Max(pos.X + GameConfig.TileCellSize, canvasXEnd);
canvasYEnd = (int)Mathf.Max(pos.Y + GameConfig.TileCellSize, canvasYEnd);
canvasXStart = Mathf.Min(pos.X, canvasXStart);
canvasYStart = Mathf.Min(pos.Y, canvasYStart);
canvasXEnd = Mathf.Max(pos.X + GameConfig.TileCellSize, canvasXEnd);
canvasYEnd = Mathf.Max(pos.Y + GameConfig.TileCellSize, canvasYEnd);
}
 
return new Rect2I(
canvasXStart,
canvasYStart,
canvasXEnd - canvasXStart,
canvasYEnd - canvasYStart
(int)canvasXStart,
(int)canvasYStart,
(int)(canvasXEnd - canvasXStart),
(int)(canvasYEnd - canvasYStart)
);
}
 
}
View
DungeonShooting_Godot/src/game/data/ImportCombinationData.cs
View
DungeonShooting_Godot/src/game/manager/EditorWindowManager.cs
View
DungeonShooting_Godot/src/game/ui/editorImportCombination/EditorImportCombination.cs
View
DungeonShooting_Godot/src/game/ui/editorImportCombination/EditorImportCombinationPanel.cs
View
DungeonShooting_Godot/src/game/ui/tileSetEditor/TileSetEditorPanel.cs
View
DungeonShooting_Godot/src/game/ui/tileSetEditorCombination/GridBg.cs
View
DungeonShooting_Godot/src/game/ui/tileSetEditorCombination/leftTop/TileEditCombination.cs