Exemple #1
0
    void ResetConnectingState()
    {
        ConnectState = eConnectState.idle;
        PlayerInfo   = null;
#if !FINAL_BUILD
        CheatCommandHandlers.Uninitialize();
#endif
    }
Exemple #2
0
    void OnConnect(C2G.Connect packet, C2G.ConnectAck ack)
    {
        Debug.Log("OnConnect : ");
        DailyIndex     = ack.daily_index;
        WeeklyIndex    = ack.weekly_index;
        ServerTimeSpan = ack.server_time - DateTime.Now;

        GameConfig.Instance.Init(ack.config_values);
        EventHottimeManager.Instance.Init(ack.events);

        if (ack.info_files != null)
        {
            SHSavedData.Instance.SaveGameInfo(ack.info_files, ack.info_version);
        }
        SHSavedData.Instance.LoadData();

        PlayerInfo = new ClientPlayerData(ack.player_info);

        GuildManager.Instance.SetGuildInfo(ack.guild);
#if !FINAL_BUILD
        CheatCommandHandlers.Uninitialize();
        if (PlayerInfo.can_cheat == true)
        {
            CheatCommandHandlers.Initialize();
        }
#endif

        QuestManager.Instance.Init(ack.player_info.quests);

        if (ack.detail_data != null)
        {
            SaveDataManger.Instance.InitFromData(ack.detail_data);
        }
        else
        {
            if (SaveDataManger.Instance.InitFromFile() == false)
            {
                C2G.Connect _Connect = new C2G.Connect();
                _Connect.request_info = true;
                _Connect.request_data = true;
                game_server.JsonAsync <C2G.Connect, C2G.ConnectAck>(_Connect, OnConnect);
                return;
            }
        }

        switch (ack.player_info.unread_mail)
        {
        case pe_UnreadMailState.MainMenuOpen:
            SetUnreadMail(pe_UnreadMailState.MainMenuOpen);
            break;

        case pe_UnreadMailState.UnreadMail:
            SetUnreadMail(pe_UnreadMailState.UnreadMail);
            break;
        }

        if (string.IsNullOrEmpty(PlayerInfo.nickname) == true)
        {
            Popup.Instance.Show(ePopupMode.Nickname, false, new EventDelegate.Callback(OnNicknameSetCallback));
        }
        else
        {
            ConnectState = eConnectState.connected;

            ChattingMain.Instance.Init();
        }
    }