Editor/TikTokSpeechControlWidget.cs
using Editor;
using Sandbox;
using System.Linq;

namespace TikTokTTS.Editor;

[CustomEditor( typeof( TikTokSpeech ) )]
public class TikTokSpeechComponentEditor : ComponentEditorWidget
{

	SerializedObject Target;

	public TikTokSpeechComponentEditor( SerializedObject obj ) : base( obj )
	{
		Target = obj;
		Layout = Layout.Column();
		var sheet = new PropertyControlSheet();
		sheet.AddObject( obj );
		Layout.Add( sheet );
		Layout.Spacing = 2;
		MinimumHeight = 70;

		var buttonPanel = Layout.Column();
		buttonPanel.Margin = new Sandbox.UI.Margin( 12, 0 );
		var button = new Button( "Speak", "play_arrow" )
		{
			Width = 200,
			Clicked = () =>
			{
				var component = Target.Targets.First() as TikTokSpeech;
				component?.Speak();
			}
		};
		buttonPanel.Add( button );
		Layout.Add( buttonPanel );
	}

	protected override void OnPaint()
	{
	}

}