public static bool SaveAsDatabaseSQL() { bool result; if (!Core.DatabaseType.Equals("MYSQL")) { result = false; } else { using (Dictionary <uint, ClanData> .ValueCollection.Enumerator enumerator = Clans.Database.Values.GetEnumerator()) { while (enumerator.MoveNext()) { ClanData current = enumerator.Current; Clans.SQL_Update(current, true); } goto IL_68; } IL_5A: LibRust.Cycle(); Thread.Sleep(100); IL_68: if (MySQL.Queued) { goto IL_5A; } result = true; } return(result); }
public static ClanData Create(string name, ulong leader_id, DateTime created) { ClanData clanData = new ClanData(Helper.NewSerial, name, "", leader_id, created); ClanData result; if (clanData == null) { result = null; } else { Clans.Database.Add(clanData.ID, clanData); if (Core.DatabaseType.Equals("MYSQL")) { Clans.SQL_Update(clanData, false); } result = clanData; } return(result); }
public static void SQL_SynchronizeClans() { if (Core.DatabaseType.Equals("MYSQL")) { MySQL.Result result = MySQL.Query("SELECT * FROM `db_clans`;", true); if (result != null) { using (List <MySQL.Row> .Enumerator enumerator = result.Row.GetEnumerator()) { while (enumerator.MoveNext()) { Predicate <ClanLevel> predicate = null; Clans.Class3 @class = new Clans.Class3(); @class.row_0 = enumerator.Current; uint asUInt = @class.row_0.Get("id").AsUInt; ClanData clanData; if (Clans.Database.ContainsKey(asUInt)) { clanData = Clans.Get(asUInt); } else { Clans.Database.Add(asUInt, clanData = new ClanData(asUInt, null, null, 0uL, default(DateTime))); } if (!Clans.dictionary_0.ContainsKey(asUInt)) { Clans.dictionary_0.Add(asUInt, 0uL); } if (Clans.Database[clanData.ID].Hash == Clans.dictionary_0[clanData.ID]) { clanData.Name = @class.row_0.Get("name").AsString; clanData.Abbr = @class.row_0.Get("abbrev").AsString; clanData.LeaderID = @class.row_0.Get("leader_id").AsUInt64; clanData.Created = @class.row_0.Get("created").AsDateTime; clanData.Flags = @class.row_0.Get("flags").AsEnum <ClanFlags>(); clanData.Balance = @class.row_0.Get("balance").AsUInt64; clanData.Tax = @class.row_0.Get("tax").AsUInt; ClanData clanData2 = clanData; List <ClanLevel> levels = Clans.Levels; if (predicate == null) { predicate = new Predicate <ClanLevel>(@class.method_0); } clanData2.SetLevel(levels.Find(predicate)); clanData.Experience = @class.row_0.Get("experience").AsUInt64; string[] array = @class.row_0.Get("location").AsString.Replace(", ", ",").Split(new char[] { ',' }); if (array.Length > 0) { float.TryParse(array[0].Trim(), out clanData.Location.x); } if (array.Length > 1) { float.TryParse(array[1].Trim(), out clanData.Location.y); } if (array.Length > 2) { float.TryParse(array[2].Trim(), out clanData.Location.z); } clanData.MOTD = @class.row_0.Get("motd").AsString; clanData.Penalty = @class.row_0.Get("penalty").AsDateTime; } else { Clans.SQL_Update(clanData, false); } Clans.dictionary_0[asUInt] = Clans.Database[asUInt].Hash; } } } } }