public static void DbItemsCommaWriter <TKey>(DbDebugItem <TKey> debug, AbstractDb <TKey> db) { try { StringBuilder builder = new StringBuilder(); if (debug.FileType == FileType.Txt) { if (AllLoaders.GetServerType() == ServerType.RAthena) { DbIntCommaRange(debug, db, 0, ServerItemAttributes.OnUnequipScript.Index + 1); return; } DbItemsWriterSub(builder, db, db.Table.FastItems.OrderBy(p => p.GetKey <TKey>()), ServerType.RAthena); File.WriteAllText(debug.FilePath, builder.ToString(), Encoding.Default); } else if (debug.FileType == FileType.Conf) { builder.AppendLineUnix("item_db: ("); builder.Append(SqlParser.HerculesItemsDbTxtHeader); DbItemsWriterSub(builder, db, db.Table.FastItems, ServerType.Hercules); builder.AppendLineUnix(")"); File.WriteAllText(debug.FilePath, builder.ToString(), Encoding.Default); } else if (debug.FileType == FileType.Sql) { SqlParser.DbSqlItems(debug, db); } } catch (Exception err) { debug.ReportException(err); } }
public static void DbItemsWriter(DbDebugItem <int> debug, AbstractDb <int> db) { try { StringBuilder builder = new StringBuilder(); if (debug.FileType == FileType.Txt) { if (DbPathLocator.GetServerType() == ServerType.RAthena) { DbIOMethods.DbWriterComma(debug, db, 0, ServerItemAttributes.OnUnequipScript.Index + 1, (tuple, items) => { if (db.ProjectDatabase.IsRenewal) { string value = tuple.GetValue <string>(ServerItemAttributes.Matk) ?? ""; if (value == "" || value == "0") { return; } string atk = items[ServerItemAttributes.Attack.Index].ToString(); items[ServerItemAttributes.Attack.Index] = (atk == "" ? "0" : atk) + ":" + value; } }); return; } DbItemsWriterSub(builder, db, db.Table.FastItems.OrderBy(p => p.GetKey <int>()), ServerType.RAthena); FtpHelper.WriteAllText(debug.FilePath, builder.ToString()); } else if (debug.FileType == FileType.Conf) { DbIOMethods.DbIOWriterConf(debug, db, (r, q) => WriteEntry(db, r, q)); } else if (debug.FileType == FileType.Sql) { SqlParser.DbSqlItems(debug, db); } } catch (Exception err) { debug.ReportException(err); } }