public bool Init() { m_TabCard = TableManager.GetCardByID(m_CardData.CardTempId); if (m_TabCard != null) { m_TabAppear = TableManager.GetAppearanceByID(m_TabCard.Appearance); } m_BattleCardObj = GameObject.Instantiate(BattleUI.Instacne.battleCardPrefab) as GameObject; m_BattleCardObj.name = "BattleCard-" + m_BattleSlot.SlotIndex; ResetPosition(); m_CardUI = m_BattleCardObj.GetComponent <CardUI>(); m_CardUI.Owner = this; m_CardUI.SetCardTemplateID(m_CardData.CardTempId); m_BuffPosArray = m_CardUI.m_BuffPosArray; if (!m_StateMachine.Init()) { Debug.Log("m_StateMachine.Init()"); } Tab_Skill tab_skill1 = TableManager.GetSkillByID(m_CardData.MemberData.commSkillID); Tab_Skill tab_skill2 = TableManager.GetSkillByID(m_CardData.MemberData.volSkillID); Tab_Skill tab_skill3 = TableManager.GetSkillByID(m_CardData.MemberData.combSkillID); if (tab_skill1 != null) { SkillType type = (SkillType)(tab_skill1.SkillType); m_SkillComm = SkillManager.Instance.CreateSkill(this, m_CardData.MemberData.commSkillID, type); } if (tab_skill2 != null) { SkillType type = (SkillType)(tab_skill2.SkillType); m_SkillVol = SkillManager.Instance.CreateSkill(this, m_CardData.MemberData.volSkillID, type); } if (tab_skill3 != null) { SkillType type = (SkillType)(tab_skill3.SkillType); m_SkillComb = SkillManager.Instance.CreateSkill(this, m_CardData.MemberData.combSkillID, type); } return(true); }
//Ë¢ÐÂŒŒÄÜ private void FreshSkill() { Tab_Card tbl_card = TableManager.GetCardByID(heroCardItem.templateID); Tab_Skill tbl_skill_vol = TableManager.GetSkillByID(tbl_card.SkillVol); if (tbl_skill_vol != null && TableManager.GetSkillDisplayByID(tbl_skill_vol.Effect) != null) { volSkillName.gameObject.SetActive(true); volSkillLevel.gameObject.SetActive(true); volSkillName.text = LanguageManger.GetWords(TableManager.GetSkillDisplayByID(tbl_skill_vol.Effect).Name); volSkillLevel.text = heroCardItem.skillLevel + "/" + tbl_skill_vol.SkillMaxlevel; } else { volSkillName.gameObject.SetActive(false); volSkillLevel.gameObject.SetActive(false); } }
public Int32 GetStudySkillAttack() { Tab_Skill tab_skill = TableManager.GetSkillByID(skillStudyId); if (tab_skill != null) { if (tab_skill.LogicId == 10) { return(tab_skill.DamageValue); } else { return(0); } } else { return(0); } }
public void OnUpdateHero() { if (GuideManager.Instance.currentStep == GuideManager.GUIDE_STEP.UPDATE && GuideUpdate.Instance.curstep == (int)GuideUpdate.GUIDE_UPDATE_STEP.NONE_3) { GuideUpdate.Instance.NextStep(); //¿šÅÆÉýŒ¶ÖžÒýœ×¶Î SELECT_7 } if (int.Parse(costMoney.text) > Obj_MyselfPlayer.GetMe().money) { // BoxManager.showMessage("œðÇ®²»×ã"); // BoxManager.showMessageByID((int)MessageIdEnum.Msg8); NetworkSender.Instance().buyGold(BuyGoldFinish, 1); return; } int nMaxLev = TableManager.GetCardByID(heroCardItem.templateID).MaxLevel; Tab_Card tabCardHero = TableManager.GetCardByID(heroCardItem.templateID); Tab_Skill tabHeroSkill = TableManager.GetSkillByID(tabCardHero.SkillVol); if (heroCardItem.level == nMaxLev && heroCardItem.skillLevel < tabHeroSkill.SkillMaxlevel) { //BoxManager.showConfirmMessage("ÏÀÊ¿ÒÑŽï×îžßŒ¶±ð\n\nÏÀÊ¿ÂúŒ¶»¹¿ÉʹÓÃÏàͬŒŒÄÜÏÀÊ¿ÌáÉý¶ÀÃÅŸøŒŒŒÌÐøÉýŒ¶»áÎüÊÕµ±Ç°ÏÀÊ¿£¬\nÊÇ·ñŒÌÐø£¿"); BoxManager.showMessageByID((int)MessageIdEnum.Msg105); UIEventListener.Get(BoxManager.getYesButton()).onClick += SendUpdateMessage; UIEventListener.Get(BoxManager.getNoButton()).onClick += CancelUpdateCard; return; } else if (heroCardItem.level == nMaxLev && heroCardItem.skillLevel == tabHeroSkill.SkillMaxlevel) { // BoxManager.showConfirmMessage("ÏÀÊ¿Œ°Æä¶ÀÃÅŸøŒŒÒÑŽï×îžßŒ¶±ð\n\nŒÌÐøÉýŒ¶»áÎüÊÕµ±Ç°ÏÀÊ¿£¬\nÊÇ·ñŒÌÐø£¿¡£"); BoxManager.showMessageByID((int)MessageIdEnum.Msg106); UIEventListener.Get(BoxManager.getYesButton()).onClick += SendUpdateMessage; return; } this.SendUpdateMessage(null); // NetworkSender.Instance().CardUpdate(OnUpdateHeroRet); }
//zbz修改(以后显示的计算都放在这里) 如果Card != null 则用card, 否用templateid private void CalculateCardInfoAndShow(UserCardItem card, int nTemplateid) { int templateid = 0; if (card != null) { templateid = card.templateID; } else if (nTemplateid > 0) { templateid = nTemplateid; } else { return; } Tab_Card tabCard = TableManager.GetCardByID(templateid); if (tabCard != null) { Tab_Appearance tabAppearance = TableManager.GetAppearanceByID(tabCard.Appearance); if (tabAppearance != null) { cardName.text = LanguageManger.GetWords(tabAppearance.Name); if (tabAppearance.DropDescripe == -1) { level_src.text = "获得途径:无"; } else { level_src.text = LanguageManger.GetWords(tabAppearance.DropDescripe); } } if (largeCardObj != null) { largeCardObj.GetComponent <CardLarge>().SetCardTemplateID(templateid); } if (card != null) { if (Obj_MyselfPlayer.GetMe().IsCardInBagByID(card.cardID)) { HP.text = (card.GetHpBase() + card.GetFengShuiHp() + card.GetStudySkillHp()).ToString(); attack.text = (card.GetAttackBase() + card.GetFengShuiAttc()).ToString(); } else { HP.text = card.GetHpBase().ToString(); attack.text = card.GetAttackBase().ToString(); } if (card.GetHpAdd() > 0) //有加成 { HP_add.text = "+" + card.GetHpAdd().ToString(); } else { HP_add.text = ""; } if (card.GetAttackAdd() > 0) { attack_add.text = "+" + card.GetAttackAdd().ToString(); } else { attack_add.text = ""; } level.text = card.level + "/" + tabCard.MaxLevel.ToString(); //学习技能 Tab_Studyskill studySkill = TableManager.GetStudyskillByID(card.skillStudyId); if (studySkill != null) { string color = ""; switch (studySkill.SkillQuality) { case 0: color = "[2d8560]"; break; case 1: color = "[2368ad]"; break; case 2: color = "[852bed]"; break; default: break; } studySkillName.text = color + studySkill.SkillName; studySkillName.text += "[9d2f07] " + card.skillStudyLev + "/" + studySkill.SkillHighLevel; sdudySkillDes.text = ConvertAttType(studySkill.SkillDes, templateid); } else { studySkillName.text = "[a65a04]无"; sdudySkillDes.text = ""; } leadership.text = card.GetLeaderShip().ToString(); } else { int hp = tabCard.HpBase; int nLevBase = tabCard.LevelBase; hp += tabCard.HpGrow * (tabCard.GambleLevel - nLevBase); HP.text = hp.ToString(); int att = tabCard.AttackBase; att += tabCard.AttackGrow * (tabCard.GambleLevel - nLevBase); attack.text = att.ToString(); attack_add.text = ""; HP_add.text = ""; level.text = tabCard.GambleLevel.ToString() + "/" + tabCard.MaxLevel.ToString(); //学习技能 Tab_Studyskill studySkill = TableManager.GetStudyskillByID(tabCard.SkillStudy); if (studySkill != null) { string color = ""; switch (studySkill.SkillQuality) { case 0: color = "[2d8560]"; break; case 1: color = "[2368ad]"; break; case 2: color = "[852bed]"; break; default: break; } studySkillName.text = color + studySkill.SkillName; studySkillName.text += "[9d2f07] " + tabCard.SkillStudylv + "/" + studySkill.SkillHighLevel; sdudySkillDes.text = ConvertAttType(studySkill.SkillDes, templateid); //领导力 leadership.text = (tabCard.LeaderBase + studySkill.LeaderNum).ToString(); } else { studySkillName.text = "[a65a04]无"; sdudySkillDes.text = ""; //领导力 leadership.text = tabCard.LeaderBase.ToString(); } } Tab_Skill skill = null; Tab_SkillDisplay skillDisplay = null; skill = TableManager.GetSkillByID(tabCard.SkillComm); if (skill != null) { skillDisplay = TableManager.GetSkillDisplayByID(skill.Effect); N_name.text = LanguageManger.GetWords(skillDisplay.Name); N_des.text = ConvertAttType(LanguageManger.GetWords(skillDisplay.Describe), templateid); } skill = TableManager.GetSkillByID(tabCard.SkillVol); cardLevelMax.text = ""; if (skill != null) { skillDisplay = TableManager.GetSkillDisplayByID(skill.Effect); Z_name.text = LanguageManger.GetWords(skillDisplay.Name); Z_des.text = ConvertAttType(LanguageManger.GetWords(skillDisplay.Describe), templateid); //当实现的卡牌是存在的卡牌时(就是除了进化后预览效果这样的卡牌) if (card != null) { Z_name.text += "[9d2f07]" + card.skillLevel + "/" + skill.SkillMaxlevel; Debug.Log("card skill level : " + card.skillLevel); } else { Z_name.text += "[9d2f07]" + 1 + "/" + skill.SkillMaxlevel; Debug.Log("card skill level : not find card"); } //2013-8-9 Jack Wen cardLevelMax.gameObject.SetActive(false); ShowRoundNum(skill.FirstRelease); } else { ShowRoundNum(2); } Tab_Leaderskill leaderSkill = TableManager.GetLeaderskillByID(tabCard.SkillLeader);//.GetSkillByID(tabCard.SkillLeader); if (leaderSkill != null) { L_name.text = LanguageManger.GetWords(leaderSkill.Name); Debug.Log("L_name.text=" + L_name.text); L_des.text = ConvertAttType(LanguageManger.GetWords(leaderSkill.Note), templateid); } else { L_name.text = "无"; L_des.text = ""; } skill = TableManager.GetSkillByID(tabCard.SkillComb); if (skill != null) { skillDisplay = TableManager.GetSkillDisplayByID(skill.Effect); H_name.text = LanguageManger.GetWords(skillDisplay.Name); H_des.text = ConvertAttType(LanguageManger.GetWords(skillDisplay.Describe), templateid); } cardCanEvl.spriteName = tabCard.NextCard == -1 ? "cannotEvl" : "canEvl"; int maxStar = tabCard.HighStarDisplay; // level; for (int i = 0; i < startManager.Length; i++) { if (i < tabCard.Star) { UISprite starIcon = startManager[i].GetComponent <UISprite>(); starIcon.spriteName = "xingxing"; starIcon.MakePixelPerfect(); starIcon.gameObject.SetActive(true); } else { UISprite starIcon = startManager[i].GetComponent <UISprite>(); if (i < maxStar) { starIcon.spriteName = "haoyou_xingxing_beijing"; starIcon.MakePixelPerfect(); starIcon.gameObject.SetActive(true); } else { starIcon.gameObject.SetActive(false); } } } } }
void CalculateUpdateData() { if (heroCardItem == null) { heroUpdateInfo.gameObject.SetActive(false); return; } int money = heroCardItem.GetUpDateCostMoney(materialCardItems); float skillUpdateRate = this.CalculateSkillUpdateRate(materialCardItems); int exp = 0; for (int i = 0; i < materialCardItems.Length; i++) { if (materialCardItems[i] != null) { exp += TableManager.GetCardByID(materialCardItems[i].templateID).ExpBase *materialCardItems[i].level; } } int nMaxLev = TableManager.GetCardByID(heroCardItem.templateID).MaxLevel; int curTotalExp = (TableManager.GetCardexperienceByID(heroCardItem.level).TotalExp - TableManager.GetCardexperienceByID(heroCardItem.level).CardExp) + heroCardItem.cardExp; int nMaxTotalExp = TableManager.GetCardexperienceByID(nMaxLev).TotalExp - TableManager.GetCardexperienceByID(nMaxLev).CardExp; int nMaxLevNeedExp = nMaxTotalExp - curTotalExp; expLabel.text = exp + "/" + nMaxLevNeedExp; if (exp > 0) { //if(tbl_skill_vol.SkillMaxlevel == heroCardItem.skillLevel) //{ //heroUpdateInfo.gameObject.SetActive(false); //} //else //{ heroUpdateInfo.gameObject.SetActive(true); //} Tab_Card tbl_card = TableManager.GetCardByID(heroCardItem.templateID); Tab_Skill tbl_skill_vol = TableManager.GetSkillByID(tbl_card.SkillVol); if (!IsChoosedMaterials() || tbl_skill_vol.SkillMaxlevel == heroCardItem.skillLevel) { labelSkillRate.gameObject.SetActive(false); labelSkill.gameObject.SetActive(false); } else { labelSkillRate.gameObject.SetActive(true); labelSkill.gameObject.SetActive(true); } float fSkillRate = skillUpdateRate * 100; volSkillProb.text = (int)fSkillRate + "%"; costMoney.text = money.ToString(); //??????????? if (heroCardItem.level < TableManager.GetCardByID(heroCardItem.templateID).MaxLevel) { int temp_lvl = heroCardItem.level; int temp_exp = exp; int temp_curexp = heroCardItem.cardExp; bool is_add = true; int dexp = TableManager.GetCardexperienceByID(temp_lvl).CardExp - temp_curexp; if (temp_exp < dexp) { is_add = false; temp_curexp += temp_exp; } while (is_add) { if (temp_lvl >= TableManager.GetCardByID(heroCardItem.templateID).MaxLevel) { is_add = false; break; } dexp = TableManager.GetCardexperienceByID(temp_lvl).CardExp - temp_curexp; if (temp_exp < dexp) { is_add = false; temp_curexp = temp_exp; } else { temp_exp -= dexp; temp_curexp = 0; temp_lvl++; } } if (temp_lvl > heroCardItem.level) { levelValue.gameObject.SetActive(false); lvlUpdatedValue.gameObject.SetActive(true); hpAddValue.gameObject.SetActive(true); AttackAddValue.gameObject.SetActive(true); expUpdateBar.gameObject.SetActive(true); expUpdateBar.sliderValue = ((float)temp_curexp) / (float)TableManager.GetCardexperienceByID(temp_lvl).CardExp; lvlUpdatedValue.text = temp_lvl.ToString(); hpAddValue.text = "+" + (TableManager.GetCardByID(heroCardItem.templateID).HpGrow *(temp_lvl - heroCardItem.level)).ToString(); AttackAddValue.text = "+" + (TableManager.GetCardByID(heroCardItem.templateID).AttackGrow *(temp_lvl - heroCardItem.level)).ToString(); } else { expUpdateBar.gameObject.SetActive(true); expUpdateBar.sliderValue = ((float)temp_curexp) / (float)TableManager.GetCardexperienceByID(temp_lvl).CardExp; AttackAddValue.gameObject.SetActive(false); hpAddValue.gameObject.SetActive(false); lvlUpdatedValue.gameObject.SetActive(false); levelValue.gameObject.SetActive(true); } //ÅжÏÖ®ºó»á²»»áÉýŒ¶,ŽÓ¶øÓ°Ï죬µÈŒ¶ÎÄ×ÖµÄÇл»ÏÔÊŸ if (temp_lvl > heroCardItem.level) { bBeGoingToUpdate = true; } else { bBeGoingToUpdate = false; } addExp.text = exp.ToString(); updateBtn.isEnabled = true; //updateBtn.transform.FindChild("Sprite").GetComponent<UISprite>().color = Color.white; } else //??????????¡Á???????????,?????????????? { fSkillRate = skillUpdateRate * 100; volSkillProb.text = (int)fSkillRate + "%"; addExp.text = "0"; AttackAddValue.gameObject.SetActive(false); hpAddValue.gameObject.SetActive(false); lvlUpdatedValue.gameObject.SetActive(false); levelValue.gameObject.SetActive(true); bBeGoingToUpdate = false; } } else { heroUpdateInfo.gameObject.SetActive(false); } }
//???????????????? private float CalculateSkillUpdateRate(UserCardItem[] materialCardItems) { if (heroCardItem == null) { return(0.0f); } //???????????? float nSkillUpateRate = 0.0f; //???? ?? ???????????????š€???????????????? List <UserCardItem> equalSkillCard = new List <UserCardItem>(); Tab_Card tabCardHero = TableManager.GetCardByID(heroCardItem.templateID); for (int i = 0; i < materialCardItems.Length; i++) { if (materialCardItems[i] != null) { Tab_Card tabCardMaterial = TableManager.GetCardByID(materialCardItems[i].templateID); Tab_Skill tabCardMaterialSkill = TableManager.GetSkillByID(tabCardMaterial.SkillVol); Tab_Skill tabHeroSkill = TableManager.GetSkillByID(tabCardHero.SkillVol); if (tabHeroSkill.UpdateRule == tabCardMaterialSkill.UpdateRule) { equalSkillCard.Add(materialCardItems[i]); } } } //????????¡€???????????????????????0 if (equalSkillCard.Count == 0) { return(0); } Tab_Skillbasicchance sklChange = TableManager.GetSkillbasicchanceByID(1); //????????¡€??¡ì1-6?? ????????????????????????¡Àšª?????¡Â?? 0-5,?šŽ???????? ????????-1 int nBaseRate = sklChange.GetBasicChancebyIndex(heroCardItem.skillLevel - 1); int[] rates = new int[equalSkillCard.Count]; for (int i = 0; i < equalSkillCard.Count; i++) { UserCardItem card = equalSkillCard[i]; //Tab_Card tmpCard = TableManager.GetCardByID(card.templateID); int skillLev = card.skillLevel; int cardStar = card.quality; Tab_Skillupdate sklUpRate = TableManager.GetSkillupdateByID(cardStar); rates[i] = sklUpRate.Chance + sklUpRate.GetSkillChancebyIndex(skillLev - 1) + nBaseRate; } //????????¡À?????????????????:??N??????????¡€?????????????????¡€??????? = 1 - N????????¡€? float tmpRate = 1; for (int j = 0; j < rates.Length; j++) { tmpRate *= (1 - rates[j] / 100.0f); } nSkillUpateRate = 1 - tmpRate; return(nSkillUpateRate); }
public void FreshCardInfo(long cardID) { Obj_MyselfPlayer.GetMe().bShowCardInfo = true; List <UserCardItem> cardList = Obj_MyselfPlayer.GetMe().cardBagList; foreach (UserCardItem card in cardList) { if (card.cardID == cardID) { if (largeCardObj != null) { largeCardObj.GetComponent <CardLarge>().SetCardTemplateID(card.templateID); } Tab_Card tab_card = TableManager.GetCardByID(card.templateID); if (tab_card != null) { Tab_Appearance tab_Appearance = TableManager.GetAppearanceByID(tab_card.Appearance); if (tab_Appearance != null) { cardName.text = LanguageManger.GetWords(tab_Appearance.Name); otherInfo.text = LanguageManger.GetWords(tab_Appearance.DropDescripe); } cardLevel.text = card.level + "/" + tab_card.MaxLevel.ToString(); if (card.GetHpAdd() > 0) //有加成 { cardHPAdd.text = "+" + card.GetHpAdd().ToString(); } else { cardHPAdd.text = ""; } if (card.GetAttackAdd() > 0) { cardAttackAdd.text = "+" + card.GetAttackAdd().ToString(); } else { cardAttackAdd.text = ""; } cardHP.text = (card.GetHpBase() + card.GetFengShuiHp() + card.GetStudySkillHp()).ToString(); cardAttack.text = (card.GetAttackBase() + card.GetFengShuiAttc()).ToString(); cardLeaderShip.text = card.GetLeaderShip().ToString(); Transform transformStars = starManage.transform; int maxStar = tab_card.HighStarDisplay; for (int j = 1; j <= 7; j++) { if (j <= card.quality) { UISprite starIcon = transformStars.FindChild("Star_" + j).GetComponent <UISprite>(); starIcon.spriteName = "xingxing"; starIcon.MakePixelPerfect(); starIcon.gameObject.SetActive(true); } else { UISprite starIcon = transformStars.FindChild("Star_" + j).GetComponent <UISprite>(); if (j <= maxStar) { starIcon.spriteName = "haoyou_xingxing_beijing"; starIcon.MakePixelPerfect(); starIcon.gameObject.SetActive(true); } else { starIcon.gameObject.SetActive(false); } } } Tab_Skill skill = null; Tab_SkillDisplay skillDisplay = null; //普通技能 skill = TableManager.GetSkillByID(tab_card.SkillComm); if (skill != null) { skillDisplay = TableManager.GetSkillDisplayByID(skill.Effect); skillNormalName.text = LanguageManger.GetWords(skillDisplay.Name); skillNormal.text = ConvertAttType(LanguageManger.GetWords(skillDisplay.Describe), card.templateID); } //主动技能 skill = TableManager.GetSkillByID(tab_card.SkillVol); if (skill != null) { skillDisplay = TableManager.GetSkillDisplayByID(skill.Effect); skillActiveName.text = LanguageManger.GetWords(skillDisplay.Name); skillActive.text = ConvertAttType(LanguageManger.GetWords(skillDisplay.Describe), card.templateID); skillActiveName.text += "[9d2f07]" + card.skillLevel + "/" + skill.SkillMaxlevel; //显示进恩释放回合数 ShowRoundNum(skill.FirstRelease); } else { //没有绝技,不显示 ShowRoundNum(2); } //队长技能 Tab_Leaderskill leaderSkill = TableManager.GetLeaderskillByID(tab_card.SkillLeader); if (leaderSkill != null) { skillLeaderName.text = LanguageManger.GetWords(leaderSkill.Name); skillLeader.text = ConvertAttType(LanguageManger.GetWords(leaderSkill.Note), card.templateID); } else { skillLeaderName.text = "无"; skillLeader.text = ""; } skill = TableManager.GetSkillByID(tab_card.SkillComb); if (skill != null) { skillDisplay = TableManager.GetSkillDisplayByID(skill.Effect); skillMixName.text = LanguageManger.GetWords(skillDisplay.Name); skillMix.text = ConvertAttType(LanguageManger.GetWords(skillDisplay.Describe), card.templateID); } else { skillMixName.text = "无"; skillMix.text = ""; } cardCanEvl.spriteName = tab_card.NextCard == -1 ? "cannotEvl" : "canEvl"; isProtected.spriteName = card.isProtected ? "renwuxinxi_quxiaobaohu" : "renwuxinxi_baohu"; isProtected.MakePixelPerfect(); //学习技能 Tab_Studyskill studySkill = TableManager.GetStudyskillByID(card.skillStudyId); if (studySkill != null) { string color = ""; switch (studySkill.SkillQuality) { case 0: color = "[2d8560]"; break; case 1: color = "[2368ad]"; break; case 2: color = "[852bed]"; break; default: break; } studySkillName.text = color + studySkill.SkillName; studySkillName.text += "[9d2f07] " + card.skillStudyLev + "/" + studySkill.SkillHighLevel; sdudySkillDes.text = ConvertAttType(studySkill.SkillDes, card.templateID); } else { studySkillName.text = "[a65a04]无"; sdudySkillDes.text = ""; } } break; } } }