public SingleSkillInfo[] EquipSkillsList;//装配到战斗技能区的技能 public SingleSkillInfoList() { //TraceUtil.Log("获取职业技能信息:"+HeroVocation); this.singleSkillInfoList = new List <SingleSkillInfo>(); this.CanUpdateSkillInfos = new List <SingleSkillInfo>(); List <SSkillInfo> sSkilInfo = PlayerManager.Instance.HeroSMsgSkillInit_SC.sInfos; foreach (SkillConfigData child in SkillDataManager.Instance.m_skillConfigDataBase._dataTable) { if (child.m_vocation == HeroVocation && child.m_skillType == (int)SkillType.General) { var item = new SingleSkillInfo(child); foreach (var sskill in sSkilInfo) { if (sskill.wSkillID == child.m_skillId) { CanUpdateSkillInfos.Add(item); break; } } this.singleSkillInfoList.Add(item); } } CanUpdateSkillInfos.Sort(delegate(SingleSkillInfo a, SingleSkillInfo b) { return((a.localSkillData.m_skillId).CompareTo(b.localSkillData.m_skillId)); }); SetEquipSkills(); }
private void CloneSkillItem(SingleSkillInfo skillInfo, GameObject item) { var transPos = this.transform.localPosition; transPos.z = -1; var cloneGo = Instantiate(item.gameObject) as GameObject; cloneGo.transform.parent = this.transform.parent; cloneGo.transform.localScale = Vector3.one; cloneGo.GetComponent <SkillUIDragBox>().enabled = false; SkillsItem cloneItem = cloneGo.GetComponent <SkillsItem>(); cloneItem.InitGuideID(2); cloneItem.OnLoseFocus(); TweenPosition tweenComponent = cloneItem.GetComponent <TweenPosition>(); if (tweenComponent != null) { tweenComponent.from = transPos; tweenComponent.to = transPos; } else { cloneGo.transform.localPosition = transPos; } cloneItem.IsUpgradeState(false); cloneItem.InitItemData(skillInfo); EquipSkill(cloneItem); }
void EquipSkill(SkillsItem skillItem) { int skillID = skillItem.ItemFielInfo.localSkillData.m_skillId; SingleSkillInfo RemovesingleSkillInfo = null; SingleSkillInfo AddsingleSkillInfo = null; if (m_curEquipSkill != null) { RemovesingleSkillInfo = m_curEquipSkill.ItemFielInfo; Destroy(m_curEquipSkill.gameObject); //AssemblySkillPanel.Instance.m_skillListForID.Remove(m_curEquipSkill.ItemFielInfo.localSkillData.m_skillId); } m_curEquipSkill = skillItem; // if (AssemblySkillPanel.Instance.m_skillListForID.ContainsKey(skillID)) // { // RemovesingleSkillInfo = AssemblySkillPanel.Instance.m_skillListForID[skillID].ItemFielInfo; // DestroyImmediate(AssemblySkillPanel.Instance.m_skillListForID[skillID].gameObject); // AssemblySkillPanel.Instance.m_skillListForID.Remove(skillID); // } //AssemblySkillPanel.Instance.m_skillListForID.Add(skillID, skillItem); AddsingleSkillInfo = skillItem.ItemFielInfo; if (AddsingleSkillInfo == null) { return; } if (m_isNewEquipSkill) { SetChuangeButtonToSever(RemovesingleSkillInfo, AddsingleSkillInfo); } }
//private bool IsSkillCanUpgrade(SingleSkillInfo selectedSkillInfo) //{ // bool canUpgrade = selectedSkillInfo.CanUpgrade; // int consumeMoneyValue = selectedSkillInfo.localSkillData.m_upgradeMoneyParams.Length < selectedSkillInfo.SkillLevel ? selectedSkillInfo.localSkillData.m_upgradeMoneyParams[selectedSkillInfo.SkillLevel - 1] : 0;//升级所需钱币 // int levelNeed = selectedSkillInfo.localSkillData.m_unlockLevel + selectedSkillInfo.SkillLevel * selectedSkillInfo.localSkillData.m_UpdateInterval; // if (levelNeed > PlayerManager.Instance.FindHeroDataModel().UnitValues.sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_LEVEL||//等级判断 // consumeMoneyValue>PlayerManager.Instance.FindHeroDataModel().PlayerValues.PLAYER_FIELD_HOLDMONEY)//消耗钱币判读 // { // //UI.MessageBox.Instance.ShowTips(3, LanguageTextManager.GetString("IDS_H2_6"), 1); //提示等级不足 // canUpgrade = false; // } // return canUpgrade; //} private UpgradeSkillType GetSkillCanUpgradeType(SingleSkillInfo selectedSkillInfo) { UpgradeSkillType upgradeSkillType = UpgradeSkillType.True; int UpgradeItemCount = selectedSkillInfo.localSkillData.m_upgradeItemCount; if (UpgradeItemCount > 0) { upgradeSkillType = UI.MainUI.ContainerInfomanager.Instance.GetItemNumber(selectedSkillInfo.localSkillData.m_upgradeItemId) >= UpgradeItemCount ? upgradeSkillType : UpgradeSkillType.NeedItem; //canUpgrade &= ContainerInfomanager.Instance.GetItemNumber(selectedSkillInfo.localSkillData.m_upgradeItemId) >= UpgradeItemCount; } //int UpgradeMoney = SkillValue.GetSkillValue(selectedSkillInfo.SkillLevel, selectedSkillInfo.localSkillData.m_upgradeMoneyParams); int UpgradeMoney = selectedSkillInfo.localSkillData.m_upgradeMoneyParams.Length >= selectedSkillInfo.SkillLevel ? selectedSkillInfo.localSkillData.m_upgradeMoneyParams[selectedSkillInfo.SkillLevel - 1] : 0;//升级所需钱币 if (UpgradeMoney > 0) { upgradeSkillType = PlayerManager.Instance.FindHeroDataModel().PlayerValues.PLAYER_FIELD_HOLDMONEY >= UpgradeMoney ? upgradeSkillType : UpgradeSkillType.NeedMoney; //canUpgrade &= PlayerManager.Instance.FindHeroDataModel().PlayerValues.PLAYER_FIELD_HOLDMONEY > UpgradeMoney; } int UpgradeLevel = selectedSkillInfo.localSkillData.m_unlockLevel + selectedSkillInfo.SkillLevel * selectedSkillInfo.localSkillData.m_UpdateInterval; upgradeSkillType = UpgradeLevel > PlayerManager.Instance.FindHeroDataModel().UnitValues.sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_LEVEL?UpgradeSkillType.NeedLevel:upgradeSkillType; upgradeSkillType = selectedSkillInfo.SkillLevel >= selectedSkillInfo.localSkillData.m_maxLv ? UpgradeSkillType.FullLevel : upgradeSkillType; return(upgradeSkillType); }
public void UpgradeSkillItem(SingleSkillInfo upgradedItem) { //StartCoroutine(RefreshItem(singleSkillInfoList, upgradedItem)); var targetSkillItem = m_skillsItems.SingleOrDefault(P => P.ItemFielInfo.localSkillData.m_skillId == upgradedItem.localSkillData.m_skillId); if (targetSkillItem != null) { targetSkillItem.InitItemData(upgradedItem); targetSkillItem.SkillUpgradeSuccess(true); } }
/// <summary> /// /// </summary> /// <param name="selectedSkill">Selected skill.</param> public void FocusSkillItem(SingleSkillInfo selectedSkill) { //所有项LoseFocus m_skillsItems.ApplyAllItem(P => { P.OnLoseFocus(); P.EquipChange(); }); var selectItem = m_skillsItems.SingleOrDefault(P => P.ItemFielInfo == selectedSkill); if (selectItem != null) { //当前项GetFocus selectItem.OnGetFocus(); StartCoroutine(DragAmountSlerp(selectItem.DragAmount)); } }
public void UpgradeSkillItem(SingleSkillInfo upgradeSkillInfo) { foreach (var item in AssemblySkillItems) { if (item != null && item.ItemFielInfo != null) { if (item.ItemFielInfo.localSkillData.m_skillId == upgradeSkillInfo.localSkillData.m_skillId) { item.InitItemData(upgradeSkillInfo); break; } } } }
private void SetSpriteState(SingleSkillInfo selectedSkillInfo) { //int consumeMoneyValue = SkillValue.GetSkillValue(selectedSkillInfo.SkillLevel, selectedSkillInfo.localSkillData.m_upgradeMoneyParams); int consumeMoneyValue = selectedSkillInfo.localSkillData.m_upgradeMoneyParams.Length >= selectedSkillInfo.SkillLevel?selectedSkillInfo.localSkillData.m_upgradeMoneyParams[selectedSkillInfo.SkillLevel - 1]:0; int skillHurtValue = SkillValue.GetSkillValue(selectedSkillInfo.SkillLevel, selectedSkillInfo.localSkillData.m_mightParams); int nextSkillHurtValue = SkillValue.GetSkillValue(selectedSkillInfo.SkillLevel + 1, selectedSkillInfo.localSkillData.m_mightParams); //int needLv = selectedSkillInfo.SkillLevel + 1; int needLv = selectedSkillInfo.localSkillData.m_unlockLevel + selectedSkillInfo.SkillLevel * selectedSkillInfo.localSkillData.m_UpdateInterval; if (consumeMoneyValue > 0) { if (PlayerManager.Instance.FindHeroDataModel().PlayerValues.PLAYER_FIELD_HOLDMONEY < consumeMoneyValue) { ConsumeLabel.color = Color.red; } else { ConsumeLabel.color = Color.white; } } if (needLv > 0) { if (PlayerManager.Instance.FindHeroDataModel().UnitValues.sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_LEVEL < needLv) { NeedLabel.color = Color.red; ArrowSprite.enabled = false; MightLeftLabel.enabled = false; MightRightLabel.color = Color.white; MightRightLabel.text = skillHurtValue.ToString(); } else { NeedLabel.color = Color.white; MightLeftLabel.enabled = true; ArrowSprite.enabled = true; MightRightLabel.color = Color.green; MightRightLabel.text = nextSkillHurtValue.ToString(); } } NeedLabel.text = needLv.ToString(); MightLeftLabel.text = skillHurtValue.ToString(); ConsumeLabel.text = consumeMoneyValue.ToString(); }
public void Show(SingleSkillInfo itemFielInfo) { Init(); //transform.localPosition = new Vector3(-204,-250,50); this.itemFielInfo = itemFielInfo; CreatItemPoint.ClearChild(); GameObject skillIcon = NGUITools.AddChild(CreatItemPoint.gameObject, itemFielInfo.localSkillData.m_icon); skillIcon.transform.localScale = new Vector3(90, 90, 1); labelLevel.text = (itemFielInfo.localSkillData.m_breakLevel - 1).ToString(); /*SkillsItem item = CreatObjectToNGUI.InstantiateObj(DragItemPrefab, CreatItemPoint).GetComponent<SkillsItem>(); * item.gameObject.layer = 26; * item.gameObject.GetChildTransforms().ApplyAllItem(P => P.gameObject.layer = 26); * //item.FocusBGSwitch.ChangeSprite(0); * //item.ViewSkillButton.gameObject.SetActive(false); * item.InitItemData(itemFielInfo); * item.InitGuideID(3);*/ }
public void UpgradeSkillData(SingleSkillInfo selectedSkillInfo) { UpgradeSucessEffect(); SetSpriteState(selectedSkillInfo); if (m_skillItem != null) { //m_skillItem.GetComponent<SkillsItem>().UpdateSkillItem(selectedSkillInfo); } SetButtonState(GetSkillCanUpgradeType(selectedSkillInfo)); //if (!IsSkillCanUpgrade(selectedSkillInfo)) //if (GetSkillCanUpgradeType(selectedSkillInfo) == UpgradeSkillType.FullLevel) //{ // UpgradeBtnLabel.text = LanguageTextManager.GetString("IDS_H2_75"); // SetButtonState(false); //} }
void SetSkillEquipInfoToSever(SingleSkillInfo RemovesingleSkillInfo, SingleSkillInfo AddsingleSkillInfo, int index) { SkillEquipEntity skillEquipEntity = new SkillEquipEntity(); skillEquipEntity.Skills = new System.Collections.Generic.Dictionary <byte, ushort>(); SingleSkillInfo[] equipSkillsList = SingleSkillInfoList.EquipSkillsList; int addPreIndex = -1; for (int i = 0; i < equipSkillsList.Length; i++) { if (AddsingleSkillInfo == equipSkillsList[i]) { addPreIndex = i; } } //替换与被替换都不为空。由两个技能位置互换位置 if (addPreIndex != -1) { equipSkillsList[addPreIndex] = RemovesingleSkillInfo; } equipSkillsList[index] = AddsingleSkillInfo; for (int i = 0; i < equipSkillsList.Length; i++) { if (equipSkillsList[i] != null) { skillEquipEntity.Skills.Add((byte)i, (byte)equipSkillsList[i].localSkillData.m_skillId); } else { skillEquipEntity.Skills.Add((byte)i, 0); } } skillEquipEntity.Skills.ApplyAllItem(P => { TraceUtil.Log(SystemModel.Rocky, "Send:" + P.Key + ":" + P.Value); }); NetServiceManager.Instance.EntityService.SendSkillEquip(skillEquipEntity); }
/// <summary> /// 根据传入数据实体,初始化技能 /// </summary> /// <param name="itemFielInfo">Item fiel info.</param> public void InitItemData(SingleSkillInfo itemFielInfo) { var hasInfo = itemFielInfo != null; Normal.SetActive(hasInfo); Empty.SetActive(!hasInfo); UnLock.SetActive(hasInfo); ItemFielInfo = itemFielInfo; if (SkillIconPoint.childCount > 0) { SkillIconPoint.ClearChild(); } if (hasInfo) { if (itemFielInfo.IsUnlock()) { Normal.SetActive(true); UnLock.SetActive(false); BreakLev.text = (itemFielInfo.localSkillData.m_breakLevel - 1).ToString(); int skillLev = itemFielInfo.SkillLevel; int maxLev = itemFielInfo.localSkillData.m_maxLv; bool isFullLev = itemFielInfo.IsFullLev(); FullLev.SetActive(isFullLev); NotFullLev.SetActive(!isFullLev); if (!isFullLev) { SkillLev.text = skillLev.ToString(); } EquipChange(); } else { Normal.SetActive(false); UnLock.SetActive(true); UnLockLev.text = itemFielInfo.localSkillData.m_unlockLevel.ToString(); } var skillIcon = NGUITools.AddChild(SkillIconPoint.gameObject, ItemFielInfo.localSkillData.m_icon); skillIcon.transform.localScale = new Vector3(90, 90, 1); } }
void SetChuangeButtonToSever(SingleSkillInfo RemovesingleSkillInfo, SingleSkillInfo AddsingleSkillInfo) { SkillEquipEntity skillEquipEntity = new SkillEquipEntity(); skillEquipEntity.Skills = new System.Collections.Generic.Dictionary <byte, ushort>(); SingleSkillInfo[] equipSkillsList = SkillsPanelManager.m_playerSkillList.EquipSkillsList; if (RemovesingleSkillInfo != null) { for (int i = 0; i < equipSkillsList.Length; i++) { if (RemovesingleSkillInfo == equipSkillsList[i]) { equipSkillsList[i] = null; } } } if (AddsingleSkillInfo != null) { equipSkillsList[Index] = AddsingleSkillInfo; } for (int i = 0; i < equipSkillsList.Length; i++) { if (equipSkillsList[i] != null) { skillEquipEntity.Skills.Add((byte)i, (byte)equipSkillsList[i].localSkillData.m_skillId); } else { skillEquipEntity.Skills.Add((byte)i, 0); } } NetServiceManager.Instance.EntityService.SendSkillEquip(skillEquipEntity); //SoundManager.Instance.PlaySoundEffect("sound0048"); }
//public void UpgradeSkill(SingleSkillInfo singleSkill) //{ // m_curEquipSkill.InitItemData(singleSkill); //} public void InitEquipSkill(SingleSkillInfo skillInfo, GameObject item) { m_isNewEquipSkill = false; CloneSkillItem(skillInfo, item); }
public void InitViewInfo(SingleSkillInfo itemFielInfo) { m_itemFielInfo = itemFielInfo; bool isNull = itemFielInfo == null; string skillName = isNull?"":LanguageTextManager.GetString(itemFielInfo.localSkillData.m_name); string breakLev = isNull?"":ConvertBreakLev(itemFielInfo.localSkillData.m_breakLevel); string skillLev = isNull?"":itemFielInfo.SkillLevel.ToString(); string skillDesc = isNull?"":LanguageTextManager.GetString(itemFielInfo.localSkillData.m_descSimple); string skillPower = isNull?"":SkillValue.GetSkillValue(itemFielInfo.SkillLevel, itemFielInfo.localSkillData.m_mightParams).ToString(); string skillHitNum = isNull?"":itemFielInfo.localSkillData.m_skillAttacktimes.ToString(); string skillCDTime = isNull?"":itemFielInfo.localSkillData.m_coolDown.ToString(); //float[] skillHurts=itemFielInfo.localSkillData.m_skillDamage; if (!isNull) { //向下取整((向下取整((参数1×(技能等级)^2+参数2×技能等级+参数3)/参数4)×参数4) /1000)*100% //int skillHurt = Mathf.FloorToInt((Mathf.FloorToInt((skillHurts[0] * Mathf.Pow(itemFielInfo.SkillLevel, 2) + skillHurts[1] * itemFielInfo.SkillLevel + skillHurts[2]) / skillHurts[3]) * skillHurts[3]) / 1000) * 100; //2014-8-27策划修改 //向下取整((向下取整((参数1×(技能等级)^2+参数2×技能等级+参数3)/参数4)×参数4) /10) // int skillHurt = Mathf.FloorToInt((Mathf.FloorToInt((skillHurts[0] * Mathf.Pow(itemFielInfo.SkillLevel, 2) + skillHurts[1] * itemFielInfo.SkillLevel + skillHurts[2]) / skillHurts[3]) * skillHurts[3]) / 10); // SkillHurt.text=skillHurt.ToString(); } else { SkillHurt.text = string.Empty; } SkillName.text = skillName; BreakLev.text = breakLev; SkillLev.text = skillLev; SkillDesc.text = skillDesc; SkillPower.text = skillPower; SkillHitNum.text = skillHitNum; SkillCDTime.text = skillCDTime; SkillUpgradeBtn.gameObject.SetActive(!isNull); EffPoint.transform.ClearChild(); //是否满级处理 if (itemFielInfo.IsFullLev()) { SkillUpgradeBtn.gameObject.SetActive(false); NotReachUpLev.gameObject.SetActive(false); NGUITools.AddChild(EffPoint, FullLevEff); UpgradeConsume.text = "0"; } else { int upNeedLev; int skillManaValue = itemFielInfo.UpgradeConsume(out m_enough, out m_reachUpLev, out upNeedLev); SkillUpgradeBtn.gameObject.SetActive(true); //铜币是否足够 if (m_enough) { SkillUpgradeBtn.Enable = true; UpgradeConsume.text = "[fffa6f]" + skillManaValue.ToString() + "[-]"; if (m_reachUpLev) { NGUITools.AddChild(EffPoint, UpgradeBtnEff); } } else { //SkillUpgradeBtn.Enable=false; UpgradeConsume.text = "[fe768b]" + skillManaValue.ToString() + "[-]"; } NotReachUpLev.text = m_reachUpLev?"":string.Format(LanguageTextManager.GetString("IDS_I7_14"), upNeedLev); NotReachUpLev.gameObject.SetActive(!m_reachUpLev); SkillUpgradeBtn.gameObject.SetActive(m_reachUpLev); } //选中特效 }