public NetworkController(MonoBehaviour ctx, bool offlineMode)
        {
            loginController = Service.Get <LoginController>();
            NetworkServicesConfig networkServicesConfig = GenerateNetworkServiceConfig(developmentEnvironment);

            Service.Set((INetworkServicesManager) new NetworkServicesManager(ctx, networkServicesConfig, offlineMode));
            dataEntityCollection   = Service.Get <CPDataEntityCollection>();
            mixCriticalAlertLevel  = networkServicesConfig.MixCritialAlertLevel;
            eventDispatcher        = Service.Get <EventDispatcher>();
            networkServicesManager = Service.Get <INetworkServicesManager>();
            sessionManager         = Service.Get <SessionManager>();
            loginController.SetNetworkConfig(networkServicesConfig);
            Service.Get <MixLoginCreateService>().SetNetworkConfig(networkServicesConfig);
            dataEntityCollection.ResetLocalPlayerHandle();
            addListeners();
        }