Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / ui / mapEditorMapLayer / MapEditorMapLayerPanel.cs
  1. using Godot;
  2. using UI.MapEditor;
  3.  
  4. namespace UI.MapEditorMapLayer;
  5.  
  6. public partial class MapEditorMapLayerPanel : MapEditorMapLayer
  7. {
  8. public class LayerButtonData
  9. {
  10. /// <summary>
  11. /// 显示文本
  12. /// </summary>
  13. public string Title;
  14. /// <summary>
  15. /// 是否锁定
  16. /// </summary>
  17. public bool IsLock;
  18. /// <summary>
  19. /// Map层级
  20. /// </summary>
  21. public int Layer;
  22.  
  23. public LayerButtonData(string title, bool isLock, int layer)
  24. {
  25. Title = title;
  26. IsLock = isLock;
  27. Layer = layer;
  28. }
  29. }
  30. private UiGrid<LayerButton, LayerButtonData> _grid;
  31. public override void OnCreateUi()
  32. {
  33. _grid = new UiGrid<LayerButton, LayerButtonData>(S_LayerButton, typeof(LayerButtonCell));
  34. _grid.SetCellOffset(new Vector2I(0, 2));
  35. _grid.SetHorizontalExpand(true);
  36. _grid.Add(new LayerButtonData("地板", false, EditorTileMap.AutoFloorLayer));
  37. _grid.Add(new LayerButtonData("侧方墙壁", true, EditorTileMap.AutoMiddleLayer));
  38. _grid.Add(new LayerButtonData("顶部墙壁", true, EditorTileMap.AutoTopLayer));
  39. _grid.Add(new LayerButtonData("标记数据层", false, EditorTileMap.MarkLayer));
  40. _grid.SelectIndex = 0;
  41. }
  42.  
  43. public override void OnDestroyUi()
  44. {
  45. _grid.Destroy();
  46. }
  47.  
  48. }