private void OnWindowDisposed(object sender, EventArgs e) { // Make sure the process handles close correctly. if (dataReader != null) { dataReader.Dispose(); dataReader = null; } }
protected virtual void Dispose(bool disposing) { if (isDisposed) { return; } Logger.Info("GameService disposed."); if (disposing) { if (dataReader != null) { dataReader.DataRead -= OnDataRead; dataReader.CharacterCreated -= OnCharacterCreated; dataReader.Dispose(); dataReader = null; } } isDisposed = true; }