コード例 #1
0
    // 发送当前页的加点数据
    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");
    }
コード例 #2
0
        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);
        }