private void SessionChanged(ITorchSession session, TorchSessionState state) { switch (state) { case TorchSessionState.Loaded: multiplayerManagerBase = Torch.CurrentSession.Managers.GetManager <IMultiplayerManagerBase>(); if (multiplayerManagerBase != null) { multiplayerManagerBase.PlayerJoined += PlayerJoined; multiplayerManagerBase.PlayerLeft += PlayerLeft; } else { Log.Warn("No multiplayer manager loaded!"); } RemoveGpsFromAllPlayers(); break; case TorchSessionState.Unloading: if (multiplayerManagerBase != null) { multiplayerManagerBase.PlayerJoined -= PlayerJoined; multiplayerManagerBase.PlayerLeft -= PlayerLeft; } break; } }
private void SessionChanged(ITorchSession session, TorchSessionState state) { switch (state) { case TorchSessionState.Loaded: _multibase = Torch.CurrentSession.Managers.GetManager <IMultiplayerManagerBase>(); if (_multibase != null) { _multibase.PlayerJoined += _multibase_PlayerJoined; MyEntities.OnEntityAdd += MyEntities_OnEntityAdd; _multibase.PlayerLeft += _multibase_PlayerLeft; } else { Log.Warn("No join/leave manager loaded!"); } _chatmanager = Torch.CurrentSession.Managers.GetManager <ChatManagerServer>(); if (_chatmanager != null) { _chatmanager.MessageRecieved += MessageRecieved; } else { Log.Warn("No chat manager loaded!"); } Log.Warn("Starting Discord Bridge!"); DDBridge = new DiscordBridge(this); //send status if (Config.UseStatus) { StartTimer(); } break; case TorchSessionState.Unloading: if (DDBridge != null) { if (Config.Stopped.Length > 0) { DDBridge.SendStatusMessage(null, Config.Stopped); } DDBridge.Stopdiscord(); } Log.Warn("Discord Bridge Unloaded!"); Dispose(); break; default: // ignore break; } }
public void LoadSEDB() { ReflectEssentials(); if (Config.BotToken.Length <= 0) { Log.Error("No BOT token set, plugin will not work at all! Add your bot TOKEN, save and restart torch."); return; } if (_sessionManager == null) { _sessionManager = Torch.Managers.GetManager <TorchSessionManager>(); if (_sessionManager == null) { Log.Warn("No session manager loaded!"); } else { _sessionManager.SessionStateChanged += SessionChanged; } } if (Torch.CurrentSession != null) { if (_multibase == null) { _multibase = Torch.CurrentSession.Managers.GetManager <IMultiplayerManagerBase>(); if (_multibase == null) { Log.Warn("No join/leave manager loaded!"); } else { _multibase.PlayerJoined += _multibase_PlayerJoined; _multibase.PlayerLeft += _multibase_PlayerLeft; MyEntities.OnEntityAdd += MyEntities_OnEntityAdd; } } if (_chatmanager == null) { _chatmanager = Torch.CurrentSession.Managers.GetManager <ChatManagerServer>(); if (_chatmanager == null) { Log.Warn("No chat manager loaded!"); } else { _chatmanager.MessageRecieved += MessageRecieved; } } InitPost(); } else if (Config.PreLoad) { InitPost(); } }
private void Load() { _multiBase = Instance.Torch.CurrentSession.Managers.GetManager <IMultiplayerManagerBase>(); if (_multiBase != null) { _multiBase.PlayerJoined += MultiBaseOnPlayerJoined; _multiBase.PlayerLeft += MultiBaseOnPlayerLeft; } else { Log.Warn("Multibase is Null"); } MyEntities.OnEntityAdd += MyEntitiesOnOnEntityAdd; if (Config.Enable && Config.KeepDefaultEnemy) { Log.Warn($"{CheckRep()} reps altered"); } }
/// <inheritdoc /> public override void Dispose() { if (_multibase != null) { _multibase.PlayerJoined -= _multibase_PlayerJoined; MyEntities.OnEntityAdd -= MyEntities_OnEntityAdd; _multibase.PlayerLeft -= _multibase_PlayerLeft; } _multibase = null; if (_sessionManager != null) { _sessionManager.SessionStateChanged -= SessionChanged; } _sessionManager = null; if (_chatmanager != null) { _chatmanager.MessageRecieved -= MessageRecieved; } _chatmanager = null; StopTimer(); }
private void SessionChanged(ITorchSession session, TorchSessionState state) { switch (state) { case TorchSessionState.Loaded: _multibase = Torch.CurrentSession.Managers.GetManager <IMultiplayerManagerBase>(); if (_multibase != null) { _multibase.PlayerJoined += _multibase_PlayerJoined; } else { Log.Warn("No multiplayer manager loaded!"); } break; case TorchSessionState.Unloading: if (_multibase != null) { _multibase.PlayerJoined -= _multibase_PlayerJoined; } break; } }
private void SessionChanged(ITorchSession session, TorchSessionState state) { if (Config.BotToken.Length == 0) { return; } switch (state) { case TorchSessionState.Loading: ConnectDiscord(); client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", Config.APIPassword); break; case TorchSessionState.Loaded: _multibase = Torch.CurrentSession.Managers.GetManager <IMultiplayerManagerBase>(); if (_multibase != null) { _multibase.PlayerJoined += _multibase_PlayerJoined; MyEntities.OnEntityAdd += MyEntities_OnEntityAdd; _multibase.PlayerLeft += _multibase_PlayerLeft; } else { Log.Warn("No join/leave manager loaded!"); } _chatmanager = Torch.CurrentSession.Managers.GetManager <ChatManagerServer>(); if (_chatmanager == null) { Log.Warn("No chat manager loaded!"); } Log.Warn("Starting Discord role manager!"); break; case TorchSessionState.Unloading: if (_multibase != null) { _multibase.PlayerJoined -= _multibase_PlayerJoined; MyEntities.OnEntityAdd -= MyEntities_OnEntityAdd; _multibase.PlayerLeft -= _multibase_PlayerLeft; } if (_discord != null) { _discord.DisconnectAsync(); } _conecting.Clear(); _linkIds.Clear(); break; case TorchSessionState.Unloaded: Log.Info("Discord role manager unloaded!"); break; default: // ignore break; } }