Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / ui / mapEditorMapLayer / MapEditorMapLayerPanel.cs
@小李xl 小李xl on 20 Aug 2023 1 KB 创建房间标记, 开发中
  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("自定义底层", false, EditorTileMap.CustomFloorLayer));
  38. _grid.Add(new LayerButtonData("中层自动图块", true, EditorTileMap.AutoMiddleLayer));
  39. _grid.Add(new LayerButtonData("自定义中层", false, EditorTileMap.CustomMiddleLayer));
  40. _grid.Add(new LayerButtonData("高层自动图块", true, EditorTileMap.AutoTopLayer));
  41. _grid.Add(new LayerButtonData("自定义高层", false, EditorTileMap.CustomTopLayer));
  42. _grid.Add(new LayerButtonData("标记数据层", false, EditorTileMap.MarkLayer));
  43. }
  44.  
  45. public override void OnDestroyUi()
  46. {
  47. _grid.Destroy();
  48. }
  49.  
  50. }