public static void DbItemsNouse <TKey>(DbDebugItem <TKey> debug, AbstractDb <TKey> db)
        {
            try {
                IntLineStream lines = new IntLineStream(db.UsePreviousOutput ? debug.FilePath : debug.OldPath);
                lines.Remove(db);
                string line;
                NoUse  nouse = new NoUse();

                foreach (ReadableTuple <TKey> tuple in db.Table.FastItems.Where(p => !p.Normal).OrderBy(p => p.GetKey <TKey>()))
                {
                    int key = tuple.GetKey <int>();

                    string item1 = tuple.GetValue <string>(ServerItemAttributes.NoUse);
                    nouse.Override = ParserHelper.GetVal(item1, "override", "100");
                    nouse.Sitting  = ParserHelper.GetVal(item1, "sitting", "false");

                    if (nouse.Override == "100" && nouse.Sitting == "false")
                    {
                        lines.Delete(key);
                        continue;
                    }

                    line = string.Join(",", new string[] { key.ToString(CultureInfo.InvariantCulture), nouse.Sitting == "true" ? "1" : "0", nouse.Override }.ToArray());
                    lines.Write(key, line);
                }

                lines.WriteFile(debug.FilePath);
            }
            catch (Exception err) {
                debug.ReportException(err);
            }
        }
Example #2
0
        public static void DbItemsNouseFunction <T>(DbDebugItem <T> debug, AttributeList list, string[] elements, Table <T, ReadableTuple <T> > table)
        {
            T itemId = (T)TypeDescriptor.GetConverter(typeof(T)).ConvertFrom(elements[0]);

            NoUse nouse = new NoUse();

            nouse.Sitting  = elements[1] == "1" ? "true" : "false";
            nouse.Override = elements[2];

            table.SetRaw(itemId, ServerItemAttributes.NoUse, nouse);
        }