void OnLoadSkillRoot(bool bSuccess, object param)
 {
     if (SkillLevelUpRoot.Instance() != null)
     {
         int nTab = (int)param;
         SkillLevelUpRoot.Instance().CurHighIndex = nTab;
     }
 }
Beispiel #2
0
    void OnEnable()
    {
        if (SkillLevelUpRoot.Instance() != null)
        {
            m_SelectSkillEx = SkillLevelUpRoot.Instance().SelectSkillEx;
        }

        SetGetItemWinData();
    }
Beispiel #3
0
        public uint Execute(PacketDistributed ipacket)
        {
            GC_SKILL_STUDY packet = (GC_SKILL_STUDY )ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic

            Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

            if (_mainPlayer)
            {
                if (!packet.HasAttachSkillId)
                {
                    _mainPlayer.StudySkillOpt(packet.SkillId, packet.Skillindex);
                }
                else
                {
                    _mainPlayer.StudySkillOpt(packet.SkillId, packet.Skillindex, packet.AttachSkillId, packet.AttachSkillIndex);
                }
            }

            if (SkillLevelUpRoot.Instance())
            {
                SkillLevelUpRoot.Instance().UpdateSkillInfo();
                if (SkillLevelUpRoot.Instance().DelUpdateSkillMenu != null)
                {
                    SkillLevelUpRoot.Instance().DelUpdateSkillMenu();
                }
            }

            if (GUIData.delMasterDataUpdate != null)
            {
                GUIData.delMasterDataUpdate();
            }

            //新手引导-突刺第一步
            for (int i = 0; i < GlobeVar.SKILL_GUIDE_START_IDS.Length; i++)
            {
                if (GlobeVar.SKILL_GUIDE_START_IDS[i] == packet.SkillId &&
                    GameManager.gameManager.RunningScene == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_DEFINE.SCENE_FB_CABALINTRO)
                {
                    SkillBarLogic.Instance().NewPlayerGuide(3);
                    break;
                }
            }

            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
        public uint Execute(PacketDistributed ipacket)
        {
            GC_SYN_SKILLINFO packet = (GC_SYN_SKILLINFO )ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic
            PlayerData playerDataPool = GameManager.gameManager.PlayerDataPool;

            //先清除
            for (int skillIndex = 0; skillIndex < playerDataPool.OwnSkillInfo.Length; skillIndex++)
            {
                playerDataPool.OwnSkillInfo[skillIndex].CleanUp();
            }
            for (int i = 0; i < packet.skillidCount; i++)
            {
                int nIndex = packet.GetSkillindex(i);
                if (nIndex >= 0 && nIndex < playerDataPool.OwnSkillInfo.Length)
                {
                    playerDataPool.OwnSkillInfo[nIndex].SkillId = packet.GetSkillid(i);
                    //冷却时间
                    playerDataPool.OwnSkillInfo[nIndex].CDTime     = packet.GetCDTime(i);
                    playerDataPool.OwnSkillInfo[nIndex].LevelUpExp = packet.GetSkillExp(i);

                    //如果这个技能被废除,客户端启用的技能Index值也对应清理一下
                    if (playerDataPool.OwnSkillInfo[nIndex].SkillId == -1)
                    {
                        if (PlayerPreferenceData.PVESkillIdCurUsing == nIndex)
                        {
                            PlayerPreferenceData.PVESkillIdCurUsing = -1;
                        }

                        if (PlayerPreferenceData.PVPSkillIdCurUsing == nIndex)
                        {
                            PlayerPreferenceData.PVPSkillIdCurUsing = -1;
                        }
                    }
                }
            }
            if (Singleton <ObjManager> .GetInstance().MainPlayer != null)
            {
                Singleton <ObjManager> .GetInstance().MainPlayer.UpdateSkillInfo();
            }
            if (PVPPowerWindow.Instance())
            {
                PVPPowerWindow.Instance().UpdateSkillList();
            }
//             if (SkillRootLogic.Instance())
//             {
//                if (packet.HasIsSkillLevelUp && packet.IsSkillLevelUp ==1)
//               {
//                     if (null != GameManager.gameManager)
//                     {
//                         GameManager.gameManager.SoundManager.PlaySoundEffect(141);  //skill_levelup
//                     }
//                    SkillRootLogic.Instance().PlaySkillLevelUpEffect();
//                }
//
//                 SkillRootLogic.Instance().UpdateSkillInfo();
//
            if (SkillLevelUpRoot.Instance())
            {
                if (packet.HasIsSkillLevelUp && packet.IsSkillLevelUp == 1)
                {
                    if (null != GameManager.gameManager)
                    {
                        GameManager.gameManager.SoundManager.PlaySoundEffect(141);  //skill_levelup
                    }
                    SkillLevelUpRoot.Instance().PlaySkillLevelUpEffect();
                    SkillLevelUpRoot.Instance().PlayLevelupEffect();
                }
                SkillLevelUpRoot.Instance().UpdateSkillInfo();
                if (SkillLevelUpRoot.Instance().DelUpdateSkillMenu != null)
                {
                    SkillLevelUpRoot.Instance().DelUpdateSkillMenu();
                }
            }
            if (GUIData.delMasterDataUpdate != null)
            {
                GUIData.delMasterDataUpdate();
            }

            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
        public uint Execute(PacketDistributed ipacket)
        {
            GC_SYN_ATTR packet = (GC_SYN_ATTR)ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic
            //判断是MainPlayer还是其他Obj
            Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer;

            PlayerData playerDataPool = GameManager.gameManager.PlayerDataPool;

            //血量
            bool isHpChange = false;

            if (packet.HasCurHp)
            {
                playerDataPool.MainPlayerBaseAttr.HP = packet.CurHp;
                isHpChange = true;
            }
            if (packet.HasMaxHP)
            {
                playerDataPool.MainPlayerBaseAttr.MaxHP = packet.MaxHP;
#if UNITY_ANDROID
                // 台湾安卓渠道特有,提交血量排行榜数据
                if (PlatformHelper.IsChannelTW())
                {
                    PlatformHelper.SubmitRankScore(Games.GlobeDefine.GameDefine_Globe.GOOGLEPLAY_RANK_TYPE.HP, playerDataPool.MainPlayerBaseAttr.MaxHP);
                }
#endif
                isHpChange = true;
            }
            if (isHpChange && _mainPlayer != null)
            {
                _mainPlayer.OptHPChange();
            }
            //法力
            bool isMpChange = false;
            if (packet.HasCurMp)
            {
                playerDataPool.MainPlayerBaseAttr.MP = packet.CurMp;
                isMpChange = true;
            }
            if (packet.HasMaxMP)
            {
                playerDataPool.MainPlayerBaseAttr.MaxMP = packet.MaxMP;
                isMpChange = true;
            }
            if (isMpChange && _mainPlayer != null)
            {
                _mainPlayer.OptMPChange();
            }

            //怒气
            bool isXpChange = false;
            if (packet.HasCurXp)
            {
                playerDataPool.MainPlayerBaseAttr.XP = packet.CurXp;
                isXpChange = true;
            }
            if (packet.HasMaxXP)
            {
                playerDataPool.MainPlayerBaseAttr.MaxXP = packet.MaxXP;
                isXpChange = true;
            }
            if (isXpChange && _mainPlayer != null)
            {
                _mainPlayer.OptXPChange();
            }

            //等级
            if (packet.HasCurLev)
            {
                // 更新配置文件

                playerDataPool.MainPlayerBaseAttr.Level = packet.CurLev;
                if (_mainPlayer)
                {
                    for (int i = 0; i < LoginData.loginRoleList.Count; i++)
                    {
                        if (LoginData.loginRoleList[i].guid == _mainPlayer.GUID)
                        {
                            LoginData.loginRoleList[i].level = packet.CurLev;
                            UserConfigData.AddRoleInfo();
                            break;
                        }
                    }

                    _mainPlayer.OptLevelChange();

                    if (LivingSkillLogic.Instance() != null)
                    {
                        LivingSkillLogic.Instance().UpdatePlayerStamina();
                    }
                    _mainPlayer.UpdateSelectDrug();
                }
            }
            // 经验
            if (packet.HasCurExp)
            {
                playerDataPool.MainPlayerBaseAttr.Exp = packet.CurExp;
                if (_mainPlayer)
                {
                    _mainPlayer.OnExpChange();
                }
                //神器强化界面
                if (EquipShenQiStrength.Instance() != null)
                {
                    EquipShenQiStrength.Instance().UpdateExpShow();
                }
            }
            if (packet.HasOffLineExp)
            {
                playerDataPool.MainPlayerBaseAttr.OffLineExp = packet.OffLineExp;
                if (null != _mainPlayer)
                {
                    _mainPlayer.OnOffLineExpChange();
                }
            }
            //体能
            if (packet.HasCurStamina)
            {
                playerDataPool.MainPlayerBaseAttr.CurStamina = packet.CurStamina;

                if (LivingSkillLogic.Instance() != null)
                {
                    LivingSkillLogic.Instance().UpdatePlayerStamina();
                }
            }
            //金钱
            if (packet.HasCurMoney)
            {
                playerDataPool.Money.SetMoney(MONEYTYPE.MONEYTYPE_COIN, packet.CurMoney);
#if UNITY_ANDROID
                // 台湾安卓渠道特有,提交金币排行榜数据
                if (PlatformHelper.IsChannelTW())
                {
                    PlatformHelper.SubmitRankScore(Games.GlobeDefine.GameDefine_Globe.GOOGLEPLAY_RANK_TYPE.GOLD_COINS, packet.CurMoney);
                }
#endif
                if (BackPackLogic.Instance())
                {
                    BackPackLogic.Instance().UpdateMoneyInfo();
                }

                if (FlyWingRoot.Instance())
                {
                    FlyWingRoot.Instance().UpdateMoneyInfo();
                }
//                if (SwordsManController.Instance() != null)
//                {
//                    SwordsManController.Instance().UpdateCoin();
//                }
                if (CangKuLogic.Instance())
                {
                    CangKuLogic.Instance().UpdateBackPack_Money();
                }
                //神器强化界面
                if (EquipShenQiStrength.Instance() != null)
                {
                    EquipShenQiStrength.Instance().UpdateMoneyShow();
                }
                if (GemLogic.Instance() != null)
                {
                    GemLogic.Instance().UpdateMoneyInfo();
                }
                if (null != GUIData.delMoneyChanged)
                {
                    GUIData.delMoneyChanged();
                }

                if (RestaurantController.Instance() != null)
                {
                    RestaurantController.Instance().UpdateMoneyInfo();
                }

                if (EquipStrengthenLogic.Instance() != null)
                {
                    EquipStrengthenLogic.Instance().UpdateMoneyInfo();
                }

                if (SkillLevelUpRoot.Instance() != null)
                {
                    SkillLevelUpRoot.Instance().UpdateSkillInfo();
                }
            }

            //元宝
            if (packet.HasCurYuanBao)
            {
                playerDataPool.Money.SetMoney(MONEYTYPE.MONEYTYPE_YUANBAO, packet.CurYuanBao);
                if (BackPackLogic.Instance())
                {
                    BackPackLogic.Instance().UpdateMoneyInfo();
                }
                if (YuanBaoShopLogic.Instance())
                {
                    YuanBaoShopLogic.Instance().UpdateYuanBaoInfo();
                }
                if (DailyLuckyDrawLogic.Instance())
                {
                    DailyLuckyDrawLogic.Instance().UpdateMoney();
                }
                if (CangKuLogic.Instance())
                {
                    CangKuLogic.Instance().UpdateBackPack_Money();
                }
                //神器强化界面
                if (EquipShenQiStrength.Instance() != null)
                {
                    EquipShenQiStrength.Instance().UpdateMoneyShow();
                }
                if (null != GUIData.delMoneyChanged)
                {
                    GUIData.delMoneyChanged();
                }
            }

            //绑定元宝
            if (packet.HasCurBDYuanBao)
            {
                playerDataPool.Money.SetMoney(MONEYTYPE.MONEYTYPE_YUANBAO_BIND, packet.CurBDYuanBao);
                if (FashionLogic.Instance() != null)
                {
                    FashionLogic.Instance().UpdateRuby();
                }
                if (BackPackLogic.Instance())
                {
                    BackPackLogic.Instance().UpdateMoneyInfo();
                }
                if (YuanBaoShopLogic.Instance())
                {
                    YuanBaoShopLogic.Instance().UpdateYuanBaoInfo();
                }
                if (DailyLuckyDrawLogic.Instance())
                {
                    DailyLuckyDrawLogic.Instance().UpdateMoney();
                }
                if (CangKuLogic.Instance())
                {
                    CangKuLogic.Instance().UpdateBackPack_Money();
                }
                if (RestaurantController.Instance() != null)
                {
                    RestaurantController.Instance().UpdateMoneyInfo();
                }
                if (null != GUIData.delMoneyChanged)
                {
                    GUIData.delMoneyChanged();
                }
            }
//            if (packet.HasSwordsManScore)
//            {
//                playerDataPool.SwordsManScore = packet.SwordsManScore;
//                if (SwordsManController.Instance() != null)
//                {
//                    SwordsManController.Instance().UpdateSwordsManScore();
//                }
//            }

            if (packet.HasReputation)
            {
                playerDataPool.Reputation = packet.Reputation;
            }

            //是否在战斗状态
            if (packet.HasIsInCombat && _mainPlayer != null)
            {
                bool oldCombat = _mainPlayer.InCombat;
                _mainPlayer.InCombat = (packet.IsInCombat == 1 ? true:false);
                if (!_mainPlayer.InCombat && oldCombat)
                {
                    _mainPlayer.LastLeaveCombatTime = Time.time;
                }
                else if (_mainPlayer.InCombat && !oldCombat)
                {
                    _mainPlayer.LastLeaveCombatTime = 0.0f;
                }
            }
            //经验 血 蓝 变化时 更新主角属性界面
            if (packet.HasCurHp || packet.HasCurMp || packet.HasCurExp)
            {
                if (RoleViewLogic.Instance() != null)
                {
                    RoleViewLogic.Instance().UpdateCurAttr();
                }
            }

            if (packet.HasGuildDKP)
            {
                playerDataPool.GuildDKP = packet.GuildDKP;
                if (GuildShopLogic.Instance() != null)
                {
                    GuildShopLogic.Instance().UpdateGuildDKP();
                }
            }
            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }