protected override void ParseData(SqliteDataReader reader) { if (reader == null || !reader.HasRows) { return; } while (reader.Read()) { DBDecoratePosItem ad = new DBDecoratePosItem(); ad.Pos = DBTextResource.ParseUI(GetReaderString(reader, "pos_id")); ad.Name = GetReaderString(reader, "name"); ad.SortId = DBTextResource.ParseUI(GetReaderString(reader, "sort_id")); ad.LevelId = DBTextResource.ParseUI(GetReaderString(reader, "dgid")); ad.AppendAttrs = DBTextResource.ParseArrayVector4(GetReaderString(reader, "attrs")); ad.BreakCosts = DBTextResource.ParseArrayVector2(GetReaderString(reader, "break_cost")); data.Add(ad.Pos, ad); SortData.Add(ad); } SortData.Sort((a, b) => { if (a.SortId < b.SortId) { return(-1); } else if (a.SortId > b.SortId) { return(1); } return(0); }); }