Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / ui / tileSetEditorTerrain / right / TileEditTerrain.cs
@小李xl 小李xl on 4 Jan 2024 1 KB 继续开发TileSet地形编辑器
using Godot;

namespace UI.TileSetEditorTerrain;

public partial class TileEditTerrain : EditorGridBg<TileSetEditorTerrain.LeftBottomBg>
{
    public override void SetUiNode(IUiNode uiNode)
    {
        base.SetUiNode(uiNode);
        var tileTexture = UiNode.L_TerrainRoot;
        InitNode(tileTexture.Instance, UiNode.L_Grid.Instance);
        tileTexture.L_Brush.Instance.TerrainRoot = tileTexture.Instance;
        
        //聚焦按钮点击
        UiNode.L_FocusBtn.Instance.Pressed += OnFocusClick;
    }

    public override void _Process(double delta)
    {
        var flag = UiNode.UiPanel.IsDraggingCell;
        UiNode.L_Grid.Instance.Visible = flag;
        UiNode.L_TerrainRoot.L_Brush.Instance.Visible = flag;
    }

    /// <summary>
    /// 改变TileSet纹理
    /// </summary>
    public void OnChangeTileSetTexture()
    {
        //UiNode.L_TileTexture.Instance.Size = UiNode.L_TileTexture.Instance.Texture.GetSize();
        OnFocusClick();
    }
    
    //聚焦按钮点击
    private void OnFocusClick()
    {
        var root = UiNode.L_TerrainRoot.Instance;
        Utils.DoFocusNode(ContainerRoot, Size, root.Size);
        RefreshGridTrans();
    }
}