IEnumerator ILogOut()
    {
        bool     isDone   = false;
        ViewBase viewBase = null;

        UIManager.Instance.GetUIByType(UIType.LoginScreen, (ViewBase ui, System.Object param) =>
        {
            viewBase = ui;
            isDone   = true;
        });

        yield return(new WaitUntil(() =>
        {
            return isDone;
        }));

        if (viewBase != null)
        {
            LoginView view = viewBase as LoginView;
            view.OnEnter();
            view.SetPlayerChoiceWindow(false);
            view.SetTutorialWindow(false);
            view.SetLoginWindow(true);
        }

        NetworkManager.Shutdown();

        NetworkManager.Connect(ServerType.LoginServer, DataManager.GetInstance().GetLoginServerIp(), DataManager.GetInstance().GetLoginServerPort(), OnConnectLoginServer);
    }