Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / ui / mapEditorMapTile / CombinationTileTab.cs
@小李xl 小李xl on 17 Jan 2024 1 KB TileMap读取组合数据
  1. using Godot;
  2.  
  3. namespace UI.MapEditorMapTile;
  4.  
  5. /// <summary>
  6. /// 组合笔刷页签
  7. /// </summary>
  8. public partial class CombinationTileTab : Control, IUiNodeScript
  9. {
  10. public UiGrid<MapEditorMapTile.CellButton, ImportCombinationData> Grid;
  11. private MapEditorMapTile.Tab3 _uiNode;
  12. public void SetUiNode(IUiNode uiNode)
  13. {
  14. _uiNode = (MapEditorMapTile.Tab3)uiNode;
  15. Grid = _uiNode.UiPanel.CreateUiGrid<MapEditorMapTile.CellButton, ImportCombinationData, CombinationCell>(_uiNode.L_ScrollContainer.L_CellButton);
  16. Grid.SetCellOffset(new Vector2I(5, 5));
  17. Grid.SetAutoColumns(true);
  18. Grid.SetHorizontalExpand(true);
  19. }
  20.  
  21. public void OnDestroy()
  22. {
  23. }
  24.  
  25. /// <summary>
  26. /// 刷新组合数据
  27. /// </summary>
  28. public void RefreshCombination(TileSetSourceInfo sourceInfo)
  29. {
  30. Grid.RemoveAll();
  31. var src = sourceInfo.GetSourceImage();
  32. foreach (var combinationInfo in sourceInfo.Combination)
  33. {
  34. var previewImage = ImportCombinationData.GetPreviewTexture(src, combinationInfo.Cells, combinationInfo.Positions);
  35. Grid.Add(new ImportCombinationData(ImageTexture.CreateFromImage(previewImage), combinationInfo));
  36. }
  37. }
  38. }