/// <summary> /// Register water mod api. /// </summary> private void RegisterWaterModApi() { using (Log.BeginMethod(nameof(RegisterWaterModApi))) { WaterModAPI = new WaterModAPI(); WaterModAPI.Register(NAME); // note: workaround because on multiplayer clients water data is not set. I sync it by myself. WaterModAPI.OnRegisteredEvent += OnWaterModApiRegisteredEvent; WaterModAPI.RecievedData += OnWaterModAPIReceivedData; } }
/// <inheritdoc /> protected override void UnloadData() { Log?.EnterMethod(nameof(UnloadData)); MyAPIGateway.Session.OnSessionReady -= OnSessionReady; MyAPIGateway.Gui.GuiControlRemoved -= OnGuiControlRemoved; if (WaterModAvailable) { WaterModAPI?.Unregister(); } if (_chatHandler != null) { _chatHandler.Close(); _chatHandler = null; } if (_suitComputer != null) { _suitComputer.Close(); _suitComputer = null; } if (Network != null) { _networkHandler.Close(); _networkHandler = null; Log?.Info("Cap network connections"); Network.Close(); Network = null; } if (Log != null) { Log.Info("Logging stopped"); Log.Flush(); Log.Close(); Log = null; } }