Implement IDisposable on RegionHandler

This commit is contained in:
Ivan 2018-05-06 14:45:31 +02:00
parent 4d241381be
commit 9ee692d93f
2 changed files with 13 additions and 1 deletions

View file

@ -26,7 +26,7 @@ namespace TShockAPI
/// Represents TShock's Region subsystem. This subsystem is in charge of executing region related logic, such as
/// setting temp points or invoking region events.
/// </summary>
internal sealed class RegionHandler
internal sealed class RegionHandler : IDisposable
{
private readonly RegionManager _regionManager;
@ -43,6 +43,16 @@ namespace TShockAPI
GetDataHandlers.TileEdit += OnTileEdit;
}
/// <summary>
/// Disposes the region handler.
/// </summary>
public void Dispose()
{
GetDataHandlers.GemLockToggle -= OnGemLockToggle;
GetDataHandlers.PlayerUpdate -= OnPlayerUpdate;
GetDataHandlers.TileEdit -= OnTileEdit;
}
private void OnGemLockToggle(object sender, GetDataHandlers.GemLockToggleEventArgs e)
{
if (TShock.Config.RegionProtectGemLocks)

View file

@ -436,6 +436,8 @@ namespace TShockAPI
RestApi.Dispose();
Log.Dispose();
RegionSystem.Dispose();
}
base.Dispose(disposing);
}