SboxSuperuser/Engine/Bootstrap/BootstrapRuntime.Hotload.cs

Partial class implementing IHotloadManaged for the BootstrapRuntime. It maps hotload lifecycle callbacks to Dispose() and toggles _disposed on creation.

using Sandbox;

namespace SboxSuperuser.Engine.Bootstrap;

internal sealed partial class BootstrapRuntime : IHotloadManaged
{
	void IHotloadManaged.Destroyed( Dictionary<string, object> state ) => Dispose();
	void IHotloadManaged.Created( IReadOnlyDictionary<string, object> state ) => _disposed = true;
	void IHotloadManaged.Persisted() => Dispose();
	void IHotloadManaged.Failed() => Dispose();
}