/// <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; } } }
//强行收服妖女按钮回调 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); } } }
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); }