コード例 #1
0
        /// <summary>
        /// 获取一个洗练属性标准值配置信息
        /// </summary>
        /// <param name="posId"></param>
        /// <returns></returns>
        public DBBaptizeAttrStandardInfo GetOneInfo(uint id)
        {
            DBBaptizeAttrStandardInfo info = null;

            if (!mInfos.TryGetValue(id, out info))
            {
                info = GetItemInfo(id);
            }

            return(info);
        }
コード例 #2
0
        DBBaptizeAttrStandardInfo GetItemInfo(uint id)
        {
            string query  = string.Format("SELECT * FROM {0} WHERE {0}.{1}=\"{2}\"", mTableName, "lv_step", id);
            var    reader = DBManager.Instance.ExecuteSqliteQueryToReader(GlobalConfig.DBFile, mTableName, query);

            if (reader == null)
            {
                mInfos[id] = null;
                return(null);
            }

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

            DBBaptizeAttrStandardInfo info = new DBBaptizeAttrStandardInfo();

            info.LvStep = id;

            info.BaseAttrs = new ActorAttribute();
            string raw = GetReaderString(reader, "base_attr");

            raw = raw.Replace(" ", "");
            var matchs = Regex.Matches(raw, @"\{(\d+),(\d+)\}");

            foreach (Match _match in matchs)
            {
                if (_match.Success)
                {
                    uint attrId  = (DBTextResource.ParseUI(_match.Groups[1].Value));
                    uint attrVal = DBTextResource.ParseUI(_match.Groups[2].Value);

                    info.BaseAttrs.Add(attrId, attrVal);
                }
            }

            mInfos[info.LvStep] = info;

            reader.Close();
            reader.Dispose();
            return(info);
        }