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

View file

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