Esempio n. 1
0
        /// <summary>
        /// 设置特殊技能数据 滚动、爆气、奥义
        /// </summary>
        void SetSpecialSkillData()
        {
            int vocation = PlayerManager.Instance.FindHeroDataModel().PlayerValues.PlayerCommonValue.PLAYER_FIELD_VISIBLE_VOCATION;

            switch (vocation)
            {
            case 1:
                m_spcialSkill[0].SkillID = CommonDefineManager.Instance.CommonDefine.THRESH_SKILLID1;
                m_spcialSkill[1].SkillID = CommonDefineManager.Instance.CommonDefine.BUFF_SKILLID1;
//                    if (PlayerManager.Instance.m_heroUpanishads != null)
//                        m_spcialSkill[2].SkillID = PlayerManager.Instance.m_heroUpanishads.UpanishadId;
//                    else
//                        m_spcialSkill[2].SkillID = CommonDefineManager.Instance.CommonDefine.FATAL_SKILLID1;
                break;

            case 4:
                m_spcialSkill[0].SkillID = CommonDefineManager.Instance.CommonDefine.THRESH_SKILLID4;
                m_spcialSkill[1].SkillID = CommonDefineManager.Instance.CommonDefine.BUFF_SKILLID4;
//                    if (PlayerManager.Instance.m_heroUpanishads != null)
//                        m_spcialSkill[2].SkillID = PlayerManager.Instance.m_heroUpanishads.UpanishadId;
//                    else
//                        m_spcialSkill[2].SkillID = CommonDefineManager.Instance.CommonDefine.FATAL_SKILLID4;
                break;

            default:
                break;
            }
            //妖女奥义技能
            SYaoNvContext yaoNvContext = new SYaoNvContext();

            yaoNvContext = SirenManager.Instance.GetYaoNvList().FirstOrDefault(p => p.byAssembly == 1);

            PlayerSirenConfigData sirenConfig = null;

            sirenConfig = PlayerDataManager.Instance.GetPlayerSirenList().SingleOrDefault(p => p._sirenID == yaoNvContext.byYaoNvID);

            if (sirenConfig != null)
            {
                var sirenData = sirenConfig._sirenConfigDataList.SingleOrDefault(p => yaoNvContext.byLevel == p._growthLevels);
                var skillID   = sirenData._SirenSkillIDs.SingleOrDefault(p => p.Vocation == vocation);
                m_spcialSkill[2].SkillID = skillID.SkillID;
            }
            else
            {
                switch (vocation)
                {
                case 1:
                    m_spcialSkill[2].SkillID = CommonDefineManager.Instance.CommonDefine.DefaultSirenSkill1;
                    break;

                case 4:
                    m_spcialSkill[2].SkillID = CommonDefineManager.Instance.CommonDefine.DefaultSirenSkill4;
                    break;
                }
            }
        }
Esempio n. 2
0
        //强行收服妖女按钮回调
        void OnRefineryClick(object obj)
        {
            var sirenControl = m_SirenItemDict[m_CurSelectedSirenItemID];
            var playerData   = PlayerManager.Instance.FindHeroDataModel();

            //玩家自身等级不足
            int limitLevel = sirenControl.GetSirenConfigData()._growthLvlLimit;

            if (playerData.UnitValues.sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_LEVEL < limitLevel)
            {
                MessageBox.Instance.ShowTips(4, string.Format(LanguageTextManager.GetString("IDS_I2_12"), limitLevel.ToString()), 1f);
                //MessageBox.Instance.ShowTips(4,LanguageTextManager.GetString("IDS_I2_17"),1f);
                return;
            }

            //未解锁
            if (!sirenControl.IsUnlock())
            {
                Debug.Log("玩家自身等级不足");
                SoundManager.Instance.PlaySoundEffect("Sound_Button_Siren_Get");
                bool isConditionMeet = true;
                for (int i = 0; i < m_SirenConditions.Length; i++)
                {
                    if (m_SirenConditions[i].gameObject.activeInHierarchy && !m_SirenConditions[i].IsMeet)
                    {
                        isConditionMeet = false;
                        break;
                    }
                }
                //如果条件满足
                if (isConditionMeet)
                {
                    NetServiceManager.Instance.EntityService.SendLianHua(m_CurSelectedSirenItemID,
                                                                         EntityService.YaoNvOpType.unlockNormal, 0);
                    StartCoroutine(UnlockSiren());
                }
                else
                {
                    //如果条件不满足
                    //UnlockBox.Show(m_CurSelectedSirenItemID, sirenControl.GetPlayerSirenConfigData()._SirenPrice, UnlockSirenCallBack);
                    //文钊修改,直接弹出文本提示框,SirenPrice字段不再生效SirenPrice字段不再生效(20141124细节修改)
                    MessageBox.Instance.ShowTips(4, LanguageTextManager.GetString("IDS_I2_17"), 1f);
                }
            }
            else            //解锁
            {
                if (!sirenControl.IsMaxLevel())
                {
                    if (playerData.PlayerValues.PLAYER_FIELD_PRACTICE_NUM > 0)
                    {
                        //计算可以提交的修为值
                        SYaoNvContext context = SirenManager.Instance.GetYaoNvList().SingleOrDefault(p => p.byYaoNvID == m_CurSelectedSirenItemID);
                        m_curSirenExperienceLastValue = context.lExperience;                        //记录之前的经验值
                        int needExp = sirenControl.GetSirenConfigData()._growthCost - context.lExperience;
                        int popExp  = 0;
                        if (playerData.PlayerValues.PLAYER_FIELD_PRACTICE_NUM >= needExp)
                        {
                            popExp = needExp;
                        }
                        else
                        {
                            popExp = playerData.PlayerValues.PLAYER_FIELD_PRACTICE_NUM;
                        }

                        NetServiceManager.Instance.EntityService.SendLianHua(m_CurSelectedSirenItemID,
                                                                             EntityService.YaoNvOpType.upgrade, popExp);

                        //特效
                        //gEffRefineryUnderWay = EffControl_Refinery.PlayEff(SirenRefineryEffectControl.Refinery.Underway);
                        //开启遮罩
                        Mark_Refinery.SetActive(true);
                        //开启计时
                        StartCoroutine(RefineryUnderWay());
                        //妖女表现
                        var sirenData = sirenControl.GetSirenConfigData();
                        ViewControl_Siren.PlayAnimation(sirenData._fearAnim);
                        //DialogManager_Siren.CloseDialogImmediately();

                        //振动效果
                        ViewControl_Siren.ShakeCamera();
                    }
                    else
                    {
                        //没有修为,请到副本收集
                        MessageBox.Instance.ShowTips(2, LanguageTextManager.GetString("IDS_I2_7"), 1);
                    }
                }
                else
                {
                    //MessageBox.Instance.ShowTips(3,"Siren Level is Max , you cant upgrade it",1f);
                    PlaySirenAnimation(null);
                }
            }
        }
Esempio n. 3
0
        public override void Show(params object[] value)
        {
            SoundManager.Instance.StopBGM(0.0f);
            SoundManager.Instance.PlayBGM("Music_UIBG_Siren", 0.0f);
            ViewControl_Siren.gameObject.SetActive(true);
            ViewControl_Siren.SetSirenSceneActive(true);

            m_CommonPanelTitle.TweenShow();
            TweenPos_CommonFrame.Reset();
            TweenPos_CommonFrame.Play(true);

            if (value.Length > 0)
            {
                SYaoNvContext context = SirenManager.Instance.GetYaoNvList().SingleOrDefault(p => p.byYaoNvID == (int)value[0]);
                if (context.byYaoNvID == 0)
                {
                    m_CurSelectedSirenItemID = m_SirenItemDict.Keys.First();
                }
                else
                {
                    m_CurSelectedSirenItemID = (int)value[0];
                }
//				if(SirenManager.Instance.GetYaoNvList().Any(p=>p.byAssembly == 1))
//				{
//					SYaoNvContext assemblyContext = SirenManager.Instance.GetYaoNvList().SingleOrDefault(p=>p.byAssembly == 1);
//					m_CurSelectedSirenItemID = assemblyContext.byYaoNvID;
//				}
//				else
//				{
//					m_CurSelectedSirenItemID = m_SirenItemDict.Keys.First();
//				}
            }
            else
            {
                List <SYaoNvContext> yaoNvList = SirenManager.Instance.GetYaoNvList();
                if (yaoNvList.Count > 0)
                {
                    SYaoNvContext context = new SYaoNvContext();
                    for (int i = 0; i < yaoNvList.Count; i++)
                    {
                        if (context.byYaoNvID < yaoNvList[i].byYaoNvID)
                        {
                            context = yaoNvList[i];
                        }
                    }
                    m_CurSelectedSirenItemID = context.byYaoNvID;
                }
                else                //没有解锁 默认第一个妖女
                {
                    m_CurSelectedSirenItemID = m_SirenItemDict.Keys.First();
                }
            }

            this.SirenBeSelectedHandle(m_CurSelectedSirenItemID);

            //更新页码
            var sirenList = SirenDataManager.Instance.GetPlayerSirenList();

            for (int i = 0; i < sirenList.Count; i++)
            {
                if (sirenList[i]._sirenID == m_CurSelectedSirenItemID)
                {
                    m_curSirenNo = i + 1;
                    PageUpdate();
                    break;
                }
            }

            //cur join
            if (m_CurJoinSirenName != null)
            {
                Destroy(m_CurJoinSirenName);
            }
            if (SirenManager.Instance.GetYaoNvList().Any(p => p.byAssembly == 1))
            {
                var sirenContext = SirenManager.Instance.GetYaoNvList().FirstOrDefault(p => p.byAssembly == 1);
                var sirenData    = sirenList.SingleOrDefault(p => p._sirenID == sirenContext.byYaoNvID);
                if (sirenData != null)
                {
                    var sirenThisLevelData = sirenData._sirenConfigDataList.SingleOrDefault(level => level._growthLevels == sirenContext.byLevel);
                    m_CurJoinSirenName = UI.CreatObjectToNGUI.InstantiateObj(sirenThisLevelData._NamePrefab, SirenJoinNameTrans);
                }
            }

            //播放按钮动画
            PlayButtonAnimation();
            base.Show(value);
        }