- using Godot;
-
- namespace UI.MapEditorMapTile;
-
- /// <summary>
- /// 组合笔刷页签
- /// </summary>
- public partial class CombinationTileTab : Control, IUiNodeScript
- {
- public UiGrid<MapEditorMapTile.CellButton, ImportCombinationData> Grid;
- private MapEditorMapTile.Tab3 _uiNode;
-
- public void SetUiNode(IUiNode uiNode)
- {
- _uiNode = (MapEditorMapTile.Tab3)uiNode;
- Grid = _uiNode.UiPanel.CreateUiGrid<MapEditorMapTile.CellButton, ImportCombinationData, CombinationCell>(_uiNode.L_ScrollContainer.L_CellButton);
- Grid.SetCellOffset(new Vector2I(5, 5));
- Grid.SetAutoColumns(true);
- Grid.SetHorizontalExpand(true);
- }
-
- public void OnDestroy()
- {
-
- }
-
- /// <summary>
- /// 刷新组合数据
- /// </summary>
- public void RefreshCombination(TileSetSourceInfo sourceInfo)
- {
- Grid.RemoveAll();
- var src = sourceInfo.GetSourceImage();
- foreach (var combinationInfo in sourceInfo.Combination)
- {
- var previewImage = ImportCombinationData.GetPreviewTexture(src, combinationInfo.Cells, combinationInfo.Positions);
- Grid.Add(new ImportCombinationData(ImageTexture.CreateFromImage(previewImage), combinationInfo));
- }
- }
- }