Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / ui / tileSetEditorProject / PreviewCell.cs
@小李xl 小李xl on 7 Jan 2024 883 bytes TileSet管理器, 开发中
  1. using Godot;
  2.  
  3. namespace UI.TileSetEditorProject;
  4.  
  5. public class PreviewCell : UiCell<TileSetEditorProject.Preview, TileSetSourceInfo>
  6. {
  7. private ImageTexture _imageTexture;
  8. public override void OnInit()
  9. {
  10. _imageTexture = new ImageTexture();
  11. CellNode.L_PreviewImage.Instance.Texture = _imageTexture;
  12. }
  13.  
  14. public override void OnSetData(TileSetSourceInfo data)
  15. {
  16. CellNode.L_Name.Instance.Text = data.Name;
  17. var sourceImage = data.GetSourceImage();
  18. if (sourceImage == null)
  19. {
  20. CellNode.L_PreviewImage.Instance.Visible = false;
  21. }
  22. else
  23. {
  24. CellNode.L_PreviewImage.Instance.Visible = true;
  25. _imageTexture.SetImage(sourceImage);
  26. }
  27. }
  28.  
  29. public override void OnDestroy()
  30. {
  31. _imageTexture.Dispose();
  32. _imageTexture = null;
  33. }
  34. }