Пример #1
0
        DBGrowLvItem ReadData(uint grow_type, uint level)
        {
            uint   uid    = grow_type + level * 100;
            string query  = string.Format("SELECT * FROM {0} WHERE {0}.{1}=\"{2}\" AND {0}.{3}=\"{4}\"", mTableName, "type", grow_type, "lv", level);
            var    reader = DBManager.Instance.ExecuteSqliteQueryToReader(GlobalConfig.DBFile, mTableName, query);

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

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

            DBGrowLvItem info = new DBGrowLvItem();

            info.GrowType  = DBTextResource.ParseUI_s(GetReaderString(reader, "type"), 0);
            info.Lv        = DBTextResource.ParseUI_s(GetReaderString(reader, "lv"), 0);
            info.Exp       = DBTextResource.ParseUI_s(GetReaderString(reader, "exp"), 0);
            info.Cost      = DBTextResource.ParseDBGoodsItem(GetReaderString(reader, "cost"));
            info.GetExp    = DBTextResource.ParseUI_s(GetReaderString(reader, "get_exp"), 0);
            info.AttrArray = DBTextResource.ParseDBAttrItems(GetReaderString(reader, "attr")); //属性加成
            mInfos[uid]    = info;

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

            return(info);
        }
Пример #2
0
        public DBPetStepItem GetOneInfo(uint pet_id, uint step)
        {
            OneDBPetStep one_pet_step;

            if (!mInfos.TryGetValue(pet_id, out one_pet_step))
            {
                one_pet_step    = new OneDBPetStep();
                one_pet_step.Id = pet_id;
                one_pet_step.OneDBPetStepArray = new Dictionary <uint, DBPetStepItem>();
                mInfos.Add(one_pet_step.Id, one_pet_step);
            }


            Dictionary <uint, DBPetStepItem> dic = one_pet_step.OneDBPetStepArray;
            DBPetStepItem info = null;

            if (!dic.TryGetValue(step, out info))
            {
                string query_str    = string.Format("SELECT * FROM {0} WHERE {0}.{1}=\"{2}\" AND {0}.{3}=\"{4}\"  ", mTableName, "id", pet_id.ToString(), "step", step.ToString());
                var    table_reader = DBManager.Instance.ExecuteSqliteQueryToReader(mFileName, mTableName, query_str);
                if (table_reader == null)
                {
                    dic[step] = null;
                    return(null);
                }

                if (!table_reader.HasRows)
                {
                    dic[step] = null;
                    table_reader.Close();
                    table_reader.Dispose();
                    return(null);
                }

                if (!table_reader.Read())
                {
                    dic[step] = null;
                    table_reader.Close();
                    table_reader.Dispose();
                    return(null);
                }

                info = new DBPetStepItem();

                info.Id        = DBTextResource.ParseUI_s(GetReaderString(table_reader, "id"), 0);
                info.Step      = DBTextResource.ParseUI_s(GetReaderString(table_reader, "step"), 0);
                info.SelfAttr  = DBTextResource.ParseDBAttrItems(GetReaderString(table_reader, "self_attr"));
                info.OwnerAttr = DBTextResource.ParseDBAttrItems(GetReaderString(table_reader, "owner_attr"));
                info.CostArray = DBTextResource.ParseDBGoodsItem(GetReaderString(table_reader, "cost"));

                dic.Add(step, info);

                table_reader.Close();
                table_reader.Dispose();

                Debug.Log("load pet step " + pet_id + "  " + step);
            }
            return(info);
        }
Пример #3
0
        protected override void ParseData(SqliteDataReader reader)
        {
            if (reader == null || !reader.HasRows)
            {
                return;
            }
            mInfos.Clear();
            mSortInfos.Clear();
            while (reader.Read())
            {
                var tmp_info = new TrialBossItem();
                tmp_info.DgnId             = DBTextResource.ParseUI(GetReaderString(reader, "dgn_id")); //副本ID
                tmp_info.TrialType         = DBTextResource.ParseUI(GetReaderString(reader, "type"));
                tmp_info.Rank              = DBTextResource.ParseUI(GetReaderString(reader, "rank"));
                tmp_info.ActorId           = DBTextResource.ParseUI(GetReaderString(reader, "actor_id"));
                tmp_info.ShowAward         = DBTextResource.ParseDBGoodsItem(GetReaderString(reader, "show_award"));
                tmp_info.ShowAssistAward   = DBTextResource.ParseDBGoodsItem(GetReaderString(reader, "show_assist_award"));
                tmp_info.ModelCameraOffset = DBTextResource.ParseVector3(GetReaderString(reader, "model_camera_offset"));
                tmp_info.DefaultAngles     = DBTextResource.ParseVector3(GetReaderString(reader, "default_angles"));
                tmp_info.CameraViewField   = DBTextResource.ParseF(GetReaderString(reader, "camera_view_field"));
                tmp_info.CameraRotate      = DBTextResource.ParseVector3(GetReaderString(reader, "camera_rotate"));
                tmp_info.DefaultActionName = GetReaderString(reader, "default_action_name");
                tmp_info.Icon              = GetReaderString(reader, "icon");

                if (mInfos.ContainsKey(tmp_info.DgnId) == false)
                {
                    mInfos.Add(tmp_info.DgnId, tmp_info);
                    if (mSortInfos.ContainsKey(tmp_info.TrialType) == false)
                    {
                        mSortInfos.Add(tmp_info.TrialType, new List <TrialBossItem>());
                    }
                    mSortInfos[tmp_info.TrialType].Add(tmp_info);
                }
                else
                {
                    GameDebug.LogError("DBTrialBoss contain the same info; Dgn_id = " + tmp_info.DgnId);
                }
            }

            foreach (var item in mSortInfos)
            {
                mSortInfos[item.Key].Sort((a, b) => {
                    if (a.Rank < b.Rank)
                    {
                        return(-1);
                    }
                    else if (a.Rank > b.Rank)
                    {
                        return(1);
                    }
                    return(0);
                });
            }
        }
Пример #4
0
        //protected override void ParseData(SqliteDataReader reader)
        //{
        //    mInfos.Clear();


        //    DBPetQualItem info;
        //    if (reader != null)
        //    {
        //        if (reader.HasRows == true)
        //        {
        //            while (reader.Read())
        //            {
        //                info = new DBPetQualItem();

        //                info.Id = DBTextResource.ParseUI_s(GetReaderString(reader, "id"), 0);
        //                info.Qual = DBTextResource.ParseUI_s(GetReaderString(reader, "qual"), 0);
        //                info.Exp = DBTextResource.ParseUI_s(GetReaderString(reader, "exp"), 0);
        //                info.GetExp = DBTextResource.ParseUI_s(GetReaderString(reader, "get_exp"), 0);
        //                info.OwnerAttr = DBTextResource.ParseDBAttrItems(GetReaderString(reader, "attr"));
        //                info.CostArray = DBTextResource.ParseDBGoodsItem(GetReaderString(reader, "cost"));
        //                if (mInfos.ContainsKey(info.Id) == false)
        //                {
        //                    OneDBPetQual one_pet_qual = new OneDBPetQual();
        //                    one_pet_qual.Id = info.Id;
        //                    one_pet_qual.MaxQual = 0;
        //                    one_pet_qual.OneDBPetQualArray = new Dictionary<uint, DBPetQualItem>();
        //                    mInfos.Add(one_pet_qual.Id, one_pet_qual);
        //                }
        //                if (mInfos[info.Id].MaxQual < info.Qual)
        //                    mInfos[info.Id].MaxQual = info.Qual;

        //                mInfos[info.Id].OneDBPetQualArray[info.Qual] = info;
        //            }
        //        }
        //    }
        //}

        public DBPetQualItem GetOneInfo(uint pet_id, uint qual)
        {
            Dictionary <uint, DBPetQualItem> dic;

            if (!mInfosDic.TryGetValue(pet_id, out dic))
            {
                dic = new Dictionary <uint, DBPetQualItem>();
                mInfosDic.Add(pet_id, dic);
            }

            DBPetQualItem item;

            if (!dic.TryGetValue(qual, out item))
            {
                string query_str    = string.Format("SELECT * FROM {0} WHERE {0}.{1}=\"{2}\" AND {0}.{3}=\"{4}\"  ", PetQualTableName, "id", pet_id.ToString(), "qual", qual.ToString());
                var    table_reader = DBManager.Instance.ExecuteSqliteQueryToReader(GlobalConfig.DBFile, PetQualTableName, query_str);
                if (table_reader == null)
                {
                    dic[qual] = null;
                    return(null);
                }

                if (!table_reader.HasRows)
                {
                    dic[qual] = null;
                    table_reader.Close();
                    table_reader.Dispose();
                    return(null);
                }

                if (!table_reader.Read())
                {
                    dic[qual] = null;
                    table_reader.Close();
                    table_reader.Dispose();
                    return(null);
                }

                item = new DBPetQualItem();

                item.Id        = DBTextResource.ParseUI_s(GetReaderString(table_reader, "id"), 0);
                item.Qual      = DBTextResource.ParseUI_s(GetReaderString(table_reader, "qual"), 0);
                item.Exp       = DBTextResource.ParseUI_s(GetReaderString(table_reader, "exp"), 0);
                item.GetExp    = DBTextResource.ParseUI_s(GetReaderString(table_reader, "get_exp"), 0);
                item.OwnerAttr = DBTextResource.ParseDBAttrItems(GetReaderString(table_reader, "attr"));
                item.CostArray = DBTextResource.ParseDBGoodsItem(GetReaderString(table_reader, "cost"));

                dic.Add(qual, item);

                table_reader.Close();
                table_reader.Dispose();
            }
            return(item);
        }
Пример #5
0
        /// <summary>
        /// 通过csv_id来获取指定的套装精炼数据
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public DBSuitRefineItem GetData(string id)
        {
            DBSuitRefineItem ad = null;

            if (data.TryGetValue(id, out ad))
            {
                return(ad);
            }

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

            if (table_reader == null)
            {
                data[id] = null;
                return(null);
            }

            if (!table_reader.HasRows)
            {
                data[id] = null;
                table_reader.Close();
                table_reader.Dispose();
                return(null);
            }

            if (!table_reader.Read())
            {
                data[id] = null;
                table_reader.Close();
                table_reader.Dispose();
                return(null);
            }

            ad          = new DBSuitRefineItem();
            ad.Id       = GetReaderString(table_reader, "csv_id");
            ad.Pos      = DBTextResource.ParseUI(GetReaderString(table_reader, "pos"));
            ad.Step     = DBTextResource.ParseUI(GetReaderString(table_reader, "step"));
            ad.Level    = DBTextResource.ParseUI(GetReaderString(table_reader, "lv"));
            ad.Cost     = DBTextResource.ParseDBGoodsItem(GetReaderString(table_reader, "costs"));
            ad.Addition = GetReaderUint(table_reader, "addition");

            data[ad.Id] = ad;

            table_reader.Close();
            table_reader.Dispose();

            return(ad);
        }
Пример #6
0
        protected override void ParseData(SqliteDataReader reader)
        {
            mInfos.Clear();
            mCostInfos.Clear();

            DBPetStepItem info;

            if (reader != null)
            {
                if (reader.HasRows == true)
                {
                    while (reader.Read())
                    {
                        info = new DBPetStepItem();

                        info.Id        = DBTextResource.ParseUI_s(GetReaderString(reader, "id"), 0);
                        info.Step      = DBTextResource.ParseUI_s(GetReaderString(reader, "step"), 0);
                        info.SelfAttr  = DBTextResource.ParseDBAttrItems(GetReaderString(reader, "self_attr"));
                        info.OwnerAttr = DBTextResource.ParseDBAttrItems(GetReaderString(reader, "owner_attr"));
                        info.CostArray = DBTextResource.ParseDBGoodsItem(GetReaderString(reader, "cost"));
                        if (mInfos.ContainsKey(info.Id) == false)
                        {
                            OneDBPetStep one_pet_step = new OneDBPetStep();
                            one_pet_step.Id = info.Id;
                            //one_pet_step.MaxStep = 0;
                            one_pet_step.OneDBPetStepArray = new Dictionary <uint, DBPetStepItem>();
                            mInfos.Add(one_pet_step.Id, one_pet_step);
                        }
                        //if (mInfos[info.Id].MaxStep < info.Step)
                        //    mInfos[info.Id].MaxStep = info.Step;

                        mInfos[info.Id].OneDBPetStepArray[info.Step] = info;

                        if (info.CostArray != null && info.CostArray.Count > 0)
                        {
                            if (mCostInfos.ContainsKey(info.CostArray[0].goods_id) == false)
                            {
                                mCostInfos[info.CostArray[0].goods_id] = info.Id;
                            }
                        }
                    }
                }
            }
        }
Пример #7
0
        public DBHonorItem GetData(uint id)
        {
            DBHonorItem ad = null;

            if (data.TryGetValue(id, out ad))
            {
                return(ad);
            }

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

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

            if (!reader.HasRows || !reader.Read())
            {
                data[id] = null;

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

            var ret = new DBHonorItem();

            ret.Id        = DBTextResource.ParseUI(GetReaderString(reader, "id"));
            ret.Name      = GetReaderString(reader, "name");
            ret.Icon      = GetReaderString(reader, "icon");
            ret.NeedPower = DBTextResource.ParseL(GetReaderString(reader, "need_pw"));
            ret.NeedGoods = DBTextResource.ParseDBGoodsItem(GetReaderString(reader, "need_goods"));
            ret.AddAttr   = DBTextResource.ParseDBAttrItems(GetReaderString(reader, "attr"));
            ret.Quality   = DBTextResource.ParseUI_s(GetReaderString(reader, "qual"), 0);
            data.Add(ret.Id, ret);

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

            return(ret);
        }