Beispiel #1
0
 // 根据id获得天赋效果信息
 public void GetHeroAIInfo(int nConfigWarID, int nHeroID, ref SSchemeHeroAIConfig sHeroAIConfig)
 {
     if (!IsHasHeroAIInfo(nConfigWarID, nHeroID, ref sHeroAIConfig))
     {
         sHeroAIConfig = null;
     }
 }
Beispiel #2
0
        // 初始化csv表
        protected void InitHeroAIConfigCsv(string stPath)
        {
            // string stSchemeAllText = File.ReadAllText(stPath);
            ScpReader reader = new ScpReader(stPath, true, 2);

            allHeroAIConfigTable = new Hashtable();

            for (int i = 0; i < reader.GetRecordCount(); i++)
            {
                SSchemeHeroAIConfig sConfig = new SSchemeHeroAIConfig();
                sConfig.nBattleFieldID = reader.GetInt(i, (int)HeroAI.EMT_BATTLEFIELDID, 0);
                sConfig.nHeroId        = reader.GetInt(i, (int)HeroAI.EMT_HEROID, 0);
                sConfig.szAIIDArray    = reader.GetString(i, (int)HeroAI.EMT_AI_IDLIST, "");
                sConfig.szAIRankArray  = reader.GetString(i, (int)HeroAI.EMT_AI_RANKLIST, "");
                sConfig.szAIDESArray   = reader.GetString(i, (int)HeroAI.EMT_AI_DESLIST, "");
                sConfig.bIsOpen        = reader.GetInt(i, (int)HeroAI.EMT_AI_ISOPEN, 0) == 1? true: false;

                // 配置检查
                string   szAIDescList       = sConfig.szAIDESArray;
                string[] AIDescArrayStr     = szAIDescList.Split(';');
                int      nAIDescArrayLength = AIDescArrayStr.Length;

                string   szAIIDList       = sConfig.szAIIDArray;
                string[] AIIDArrayStr     = szAIDescList.Split(';');
                int      nAIIDArrayLength = AIIDArrayStr.Length;

                if (nAIDescArrayLength != nAIIDArrayLength)
                {
                    Trace.LogError("配置出错 请检查 HeroAIConfig.csv 位置:=(" + (i + 1) + ")行");
                }

                int keyID = sConfig.nBattleFieldID * KEY_ID_BASE + sConfig.nHeroId;
                allHeroAIConfigTable[keyID] = sConfig;
            }
        }
Beispiel #3
0
        private bool IsHasHeroAIInfo(int nConfigWarID, int nHeroID, ref SSchemeHeroAIConfig sHeroAIConfig)
        {
            bool res = false;
            int  key = nConfigWarID * KEY_ID_BASE + nHeroID;

            if (allHeroAIConfigTable.ContainsKey(key))
            {
                sHeroAIConfig = allHeroAIConfigTable[key] as SSchemeHeroAIConfig;
                res           = true;
            }
            return(res);
        }