Ejemplo n.º 1
0
    bool BaseFlow.Init()
    {
        PlayerDataModule dataModule = ModuleManager.Instance.FindModule <PlayerDataModule>();

        if (GameConfig.GuideSceneID > 0 && !dataModule.IsStageHasPassed(GameConfig.GuideSceneID))
        {
            SceneManager.Instance.RequestEnterScene(GameConfig.GuideSceneID);
        }
        else
        {
            SceneManager.Instance.RequestEnterScene(SceneManager.Instance.GetLastCityResId());
        }

        FightGradeManager.Instance.InitListeners();
        //初始化主流程的部分数据


        //临时放到这里
        PlayerDataEvent evt = new PlayerDataEvent(PlayerDataEvent.PLAYER_DATA_CHANGED);

        EventSystem.Instance.PushEvent(evt);

        //临时
        GuideManager.Instance.OnFistGame();

        string[] strList = Environment.ChatServerAddress.Split(new char[] { ':' });

        //进入聊天服务器
        mTcpConnect = new TcpConnect();
        mTcpConnect.Connect(strList[0], int.Parse(strList[1]));

        SettingManager.Instance.InitPlayer(dataModule.GetName());

        return(false);
    }
Ejemplo n.º 2
0
 private void OnPlayerDataEvent(PlayerDataEvent msg)
 {
     if (msg.Account != null)
     {
         Log.Info("Player account loaded : " + msg.Account.NickName, 26, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\TEMPFastEnterMatch\\Player\\PlayerDataFrame.cs");
         bool pendingFightFound = msg.Occupation?.InFight ?? false;
         PlayerData.Init(msg.Account.Hash, msg.Account.NickName, msg.Account.AccountType, msg.Account.Admin, pendingFightFound);
         this.OnPlayerAccountLoaded?.Invoke(pendingFightFound);
     }
     if (msg.Decks != null)
     {
         PlayerData instance = PlayerData.instance;
         instance.SetAllDecks((IEnumerable <DeckInfo>)msg.Decks.CustomDecks);
         foreach (KeyValuePair <int, int> selectedDeck in msg.Decks.SelectedDecks)
         {
             instance.AddOrUpdateSelectedDeck(selectedDeck.Key, selectedDeck.Value);
         }
     }
     else if (msg.DecksUpdates != null)
     {
         PlayerData instance2 = PlayerData.instance;
         foreach (DeckInfo item in msg.DecksUpdates.DeckUpdated)
         {
             instance2.AddOrUpdateDeck(item);
         }
         foreach (int item2 in msg.DecksUpdates.DeckRemovedId)
         {
             instance2.RemoveDeck(item2);
         }
         foreach (PlayerDataEvent.Types.DeckIncrementalUpdateData.Types.SelectedDeckPerWeapon item3 in msg.DecksUpdates.DeckSelectionsUpdated)
         {
             if (item3.DeckId.HasValue)
             {
                 PlayerData.instance.AddOrUpdateSelectedDeck(item3.WeaponId, item3.DeckId.Value);
             }
             else
             {
                 PlayerData.instance.RemoveSelectedDeck(item3.WeaponId);
             }
         }
     }
     if (msg.CompanionData != null)
     {
         RepeatedField <int> companions = msg.CompanionData.Companions;
         PlayerData.instance.UpdateCompanionData(companions);
     }
     if (msg.WeaponLevelsData != null)
     {
         MapField <int, int> weaponLevels = msg.WeaponLevelsData.WeaponLevels;
         PlayerData.instance.UpdateWeaponsLevelsData(weaponLevels);
     }
     if (msg.SelectedWeaponsData != null)
     {
         MapField <int, int> selectedWeapons = msg.SelectedWeaponsData.SelectedWeapons;
         PlayerData.instance.UpdateSelectedWeaponsData(selectedWeapons);
     }
     if (msg.Hero != null)
     {
         PlayerData.instance.UpdatePlayerHeroInfo(msg.Hero.Info);
     }
 }