Editor/Tileset/TimesetComponent/TilesetComponentControlsWidget.cs
using System;
using System.Collections.Generic;
using System.Linq;
using Editor;
using Sandbox;
namespace SpriteTools.TilesetTool;
[CustomEditor(typeof(TilesetComponent.ComponentControls))]
public class TilesetComponentControlsWidget : ControlWidget
{
public override bool SupportsMultiEdit => false;
TilesetComponent TilesetComponent;
public TilesetComponentControlsWidget(SerializedProperty property) : base(property)
{
TilesetComponent = property.Parent.Targets.First() as TilesetComponent;
if (TilesetComponent is null)
{
return;
}
Layout = Layout.Column();
Layout.Spacing = 2;
Rebuild();
}
protected override void OnPaint() { }
void Rebuild()
{
Layout.Clear(true);
var btn = Layout.Add(new Button("Open in Tileset Tool", this));
btn.Icon = "dashboard";
btn.Clicked += () =>
{
TilesetTool.OpenComponent(TilesetComponent);
};
}
}