Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / ui / mapEditorTools / ToolButtonCell.cs
@小李xl 小李xl on 17 Jul 1 KB 地牢编辑器移植完成
namespace UI.MapEditorTools;

public class ToolButtonCell : UiCell<MapEditorTools.ToolButton, EditorToolBase>
{
    public override void OnInit()
    {
        CellNode.L_Select.Instance.Visible = false;
    }

    public override void OnSetData(EditorToolBase data)
    {
        CellNode.Instance.TextureNormal = ResourceManager.LoadTexture2D(data.Icon);
        CellNode.Instance.TooltipText = data.TipText;
    }

    public override void Process(float delta)
    {
        if (Grid.SelectIndex == Index)
        {
            Data.Process(delta);
        }
    }

    public override bool CanSelect()
    {
        return Data.CanSelect;
    }

    public override void OnSelect()
    {
        CellNode.L_Select.Instance.Visible = true;
        Data.EditorTileMap.MapInputEvent += Data.OnMapInputEvent;
        Data.EditorTileMap.MapDrawToolEvent += Data.OnMapDrawTool;
        Data.OnSetSelected(true);
    }

    public override void OnUnSelect()
    {
        CellNode.L_Select.Instance.Visible = false;
        Data.EditorTileMap.MapInputEvent -= Data.OnMapInputEvent;
        Data.EditorTileMap.MapDrawToolEvent -= Data.OnMapDrawTool;
        Data.OnSetSelected(false);
    }

    public override void OnClick()
    {
        Data.OnClick();
    }

}