Example #1
0
        public StrengthLvInfo GetStrengthLvInfo(uint lv)
        {
            StrengthLvInfo info;

            if (mStrengthLvInfos.TryGetValue(lv, out info))
            {
                return(info);
            }

            string query_str = string.Format("SELECT * FROM {0} WHERE {1}=\"{2}\"", mTableName, "lv", lv);
            var    reader    = DBManager.Instance.ExecuteSqliteQueryToReader(GlobalConfig.DBFile, mTableName, query_str);

            if (reader == null)
            {
                mStrengthLvInfos[lv] = null;
                return(null);
            }

            if (!reader.HasRows || !reader.Read())
            {
                mStrengthLvInfos[lv] = null;
                reader.Close();
                reader.Dispose();
                return(null);
            }

            info = new StrengthLvInfo();

            info.Lv     = DBTextResource.ParseUI(GetReaderString(reader, "lv"));
            info.Degree = DBTextResource.ParseUI(GetReaderString(reader, "degree"));
            info.Costs  = DBTextResource.ParseKeyUlongValuePairList(GetReaderString(reader, "cost"));
            info.ShowRedPointGoodsNums = DBTextResource.ParseKeyUlongValuePairList(GetReaderString(reader, "show_red_point_goods_num"));

            mStrengthLvInfos.Add(info.Lv, info);

            reader.Close();
            reader.Dispose();

            return(info);
        }