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); } }
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); }