Editor/Events.Editor.cs
namespace Sandbox;

public static partial class Event
{
	/// <summary>
	/// Events for the editor.
	/// </summary>
	public static class Editor
	{
		/// <summary>
		/// Invoked when the editor has initialized.
		/// <list type="table">
		///		<em>Arguments:</em>
		///		<item>
		///			<term><see cref="EditorNamespace.EditorMainWindow"/></term>
		///			<description>The main window.</description>
		///		</item>
		///	</list>
		/// </summary>
		public sealed class InitializedAttribute() : EventAttribute( "editor.created" );

		/// <summary>
		/// Invoked when the editor is shutting down
		/// </summary>
		public sealed class ShutdownAttribute() : EventAttribute( "app.exit" );

		/// <summary>
		/// Invoked when the assenblies are changed.
		/// </summary>
		public sealed class AssembliesChangedAttribute() : EventAttribute( "refresh" );

		/// <summary>
		/// Invoked when game data is changed.
		/// </summary>
		public sealed class GameDataChangedAttribute() : EventAttribute( "tools.gamedata.refresh" );

		/// <summary>
		/// Invoked when a project settings are updated.
		/// </summary>
		public sealed class ProjectSettingsChangedAttribute() : EventAttribute( "localaddons.changed" );
	}
}