Esempio n. 1
0
 public void updateXpConfigToCache(SSchemeHeroXPskillConfig sConfig)
 {
     if (allHeroXPskillConfigTable.ContainsKey(sConfig.nHeroID))
     {
         (allHeroXPskillConfigTable[sConfig.nHeroID] as List <SSchemeHeroXPskillConfig>).Add(sConfig);
     }
     else
     {
         List <SSchemeHeroXPskillConfig> heroXPskillList = new List <SSchemeHeroXPskillConfig>();
         heroXPskillList.Add(sConfig);
         allHeroXPskillConfigTable[sConfig.nHeroID] = heroXPskillList;
     }
 }
Esempio n. 2
0
        // 初始化csv表
        protected void InitHeroXPskillConfigCsv(string stPath)
        {
            ScpReader reader = new ScpReader(stPath, true, 2);

            allHeroXPskillConfigTable = new Hashtable();
            for (int i = 0; i < reader.GetRecordCount(); i++)
            {
                SSchemeHeroXPskillConfig sConfig = new SSchemeHeroXPskillConfig();
                sConfig.nHeroID            = reader.GetInt(i, (int)XP_COL.HERO_ID, 0);         // 英雄id
                sConfig.nXPSkillID         = reader.GetInt(i, (int)XP_COL.SPELL_ID, 0);        // 必杀技技能id
                sConfig.nXPType            = reader.GetInt(i, (int)XP_COL.SPELL_TYPE, 0);      // 技能类型(通用0,专属1)
                sConfig.bAutoActive        = reader.GetInt(i, (int)XP_COL.SPELL_TYPE, 0) > 0;  // 是否自动解锁(否0,是1)
                sConfig.nLockXPFragmentNum = reader.GetInt(i, (int)XP_COL.CHIP_NUM, 0);        // 必杀技解锁所需碎片数
                sConfig.nIconID            = reader.GetInt(i, (int)XP_COL.ICON, 0);            // 必杀技图标
                sConfig.szXpName           = reader.GetString(i, (int)XP_COL.NAME, "");        // 必杀技名字
                sConfig.szLockDesc         = reader.GetString(i, (int)XP_COL.LOCK_DESC, "");   // 必杀技未解锁时描述
                sConfig.szNoLockDesc       = reader.GetString(i, (int)XP_COL.UNLOCK_DESC, ""); // 必杀技解锁时描述
                sConfig.bActiveGuide       = reader.GetInt(i, (int)XP_COL.GUIDE, 0) > 0;       // 解锁时是否引导(否0,是1)

                string strEffect = reader.GetString(i, (int)XP_COL.EFFECTS, "");
                if (strEffect.Equals(""))
                {
                    sConfig.effects = new List <System.String>();
                }
                else
                {
                    sConfig.effects = new List <System.String>(strEffect.Split(new Char[] { ';' }));   // 对应光效列表可以有多个,用分号隔开
                }
                if (sConfig.nHeroID == 0)
                {
                    for (int nHeroID = 1; nHeroID < (int)VOCATION.VOCATION_MAX; ++nHeroID)
                    {
                        sConfig.nHeroID = nHeroID;
                        updateXpConfigToCache(sConfig);
                    }
                }
                else
                {
                    updateXpConfigToCache(sConfig);
                }
            }
        }