/// <summary> /// Deinitialization method /// </summary> public void Deinitialize() { if (parentManager == null) { return; } parentManager.ClientConnected -= MasterManagerOnClientConnected; parentManager.ClientDisconnected -= MasterManagerOnClientDisconnected; parentManager = null; }
/// <summary> /// Initialization method /// </summary> /// <param name="masterManager">Parent master manager that uses this load balancer</param> public void Initialize(MasterManager masterManager) { if (parentManager != null) { Log.Error($"{nameof(NetworkLoadBalancer)} is already initialized."); return; } masterLoad = InitialMasterLoad; clientLoads.Clear(); masterManager.ClientConnected += MasterManagerOnClientConnected; masterManager.ClientDisconnected += MasterManagerOnClientDisconnected; foreach (var client in masterManager.Clients) { MasterManagerOnClientConnected(client.Peer); } parentManager = masterManager; }