// 发送当前页的加点数据 public void CreateASTalentInfo(SSchemeTalentConfig talentInfo, out Value ASTalentValue) { string sEffectIdArray = talentInfo.szTalentArray; string sTalentEffectDesc = ""; if (sEffectIdArray != "") { string[] sTalentIdArray = ((string)(sEffectIdArray)).Split(';'); int nArrayLen = sTalentIdArray.Length; for (int i = 0; i < nArrayLen; i++) { SSchemeTalentEffectConfig sTalentEffect = new SSchemeTalentEffectConfig(); int nEffectArrayId = Convert.ToInt32(sTalentIdArray[i]); TalentPageEffect.Instance.GetTalentEffectInfo(nEffectArrayId, ref sTalentEffect); sTalentEffectDesc += sTalentEffect.szTalentDESC; if (i != nArrayLen - 1) { sTalentEffectDesc += ";"; } } } ASObjectEx ASTalentEx; ASTalentEx.names = new string[] { "TalentID", "TalentName", "TalentIconID", "TalentType", "TalentLevel", "TalentAllowNum", "TalentMaxAddNum", "TalentEffectDesc" }; ASTalentEx.values = new object[] { talentInfo.nId, talentInfo.szTalentName, talentInfo.nTalentIconId, talentInfo.nTalentType, talentInfo.nTalentLevel, talentInfo.nTalentAllowNum, talentInfo.nMaxAddNum, sTalentEffectDesc }; ASTalentEx.types = new Type[] { typeof(int), typeof(string), typeof(int), typeof(int), typeof(int), typeof(int), typeof(int), typeof(string) }; ASTalentValue = Value.ConvertToASObjectEx(ASTalentEx, this, "Com.Scaleform.Common.TalentInfo"); }
public string GetTalentDesc(int nTalentId, int nShowPoints, int nTypePoints, int nLeftPoints, SSchemeTalentConfig talentConfig) { int nEffectId = 0; int nNextEffectId = 0; string sTalentName = talentConfig.szTalentName + "\n"; string sLimitDesc = ""; string sLevelDesc = ""; string sCurTalentDesc = ""; string sNextTalentDesc = ""; if (talentConfig.szTalentArray == "") { return(null); } string[] arrayEffectId = talentConfig.szTalentArray.Split(';'); if (arrayEffectId.Length < nShowPoints) { return(null); } if (nShowPoints == 0) { sLimitDesc = GetLimitTalentDesc(talentConfig.nTalentAllowNum, talentConfig.nTalentType, nTypePoints, nLeftPoints); } if (nShowPoints != 0) { nEffectId = int.Parse(arrayEffectId[nShowPoints - 1]); SSchemeTalentEffectConfig talentEffectConfig = TalentPageEffect.Instance.allTalentEffectTable[nEffectId] as SSchemeTalentEffectConfig; if (talentEffectConfig == null) { return(null); } sCurTalentDesc = talentEffectConfig.szTalentDESC; if (nShowPoints != talentConfig.nMaxAddNum) { sCurTalentDesc += "\n"; } } if (nShowPoints != talentConfig.nMaxAddNum) { nNextEffectId = int.Parse(arrayEffectId[nShowPoints]); SSchemeTalentEffectConfig talentEffectNextConfig = TalentPageEffect.Instance.allTalentEffectTable[nNextEffectId] as SSchemeTalentEffectConfig; if (talentEffectNextConfig == null) { return(null); } if (nShowPoints == 0) { sNextTalentDesc = talentEffectNextConfig.szTalentDESC; } else { sNextTalentDesc = "下一級:" + talentEffectNextConfig.szTalentDESC; } } if (talentConfig.nTalentLevel % 2 == 0) { sLevelDesc = "等级;" + nShowPoints + "/1" + "\n"; } else { sLevelDesc = "等级;" + nShowPoints + "/5" + "\n"; } return(sTalentName + sLevelDesc + sLimitDesc + sCurTalentDesc + sNextTalentDesc); }