public static void CheckExpiredEntries() { for (int i = GreetingsEntries.Count - 1; i >= 0; i--) { if (GreetingsEntries[i].Expires != DateTime.MinValue && GreetingsEntries[i].Expired) { GreetingsEntries.RemoveAt(i); } } for (int i = ModeratorEntries.Count - 1; i >= 0; i--) { if (ModeratorEntries[i].Expired) { ModeratorEntries.RemoveAt(i); } } for (int i = CityEntries.Count - 1; i >= 0; i--) { if (CityEntries[i].Expired) { CityEntries.RemoveAt(i); } } for (int i = GuildEntries.Count - 1; i >= 0; i--) { if (GuildEntries[i].Expired) { GuildEntries.RemoveAt(i); } } if (MysteriousPotionEffects != null) { List <Mobile> list = new List <Mobile>(MysteriousPotionEffects.Keys); for (var index = 0; index < list.Count; index++) { Mobile m = list[index]; if (MysteriousPotionEffects != null && MysteriousPotionEffects.ContainsKey(m) && MysteriousPotionEffects[m] < DateTime.UtcNow) { MysteriousPotionEffects.Remove(m); if (MysteriousPotionEffects.Count == 0) { MysteriousPotionEffects = null; } } } ColUtility.Free(list); } CheckTimer(); }
public static void Load(GenericReader reader) { int version = reader.ReadInt(); int count = reader.ReadInt(); for (int i = 0; i < count; i++) { var entry = new TownCryerModeratorEntry(reader); if (!entry.Expired) { ModeratorEntries.Add(entry); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { var entry = new TownCryerCityEntry(reader); if (!entry.Expired) { CityEntries.Add(entry); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { var entry = new TownCryerGuildEntry(reader); if (!entry.Expired) { GuildEntries.Add(entry); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { Mobile m = reader.ReadMobile(); DateTime dt = reader.ReadDateTime(); if (m != null) { if (MysteriousPotionEffects == null) { MysteriousPotionEffects = new Dictionary <Mobile, DateTime>(); } MysteriousPotionEffects[m] = dt; } } CheckTimer(); }
public static void CheckExpiredEntries() { for (int i = ModeratorEntries.Count - 1; i >= 0; i--) { if (ModeratorEntries[i].Expired) { ModeratorEntries.RemoveAt(i); } } for (int i = CityEntries.Count - 1; i >= 0; i--) { if (CityEntries[i].Expired) { CityEntries.RemoveAt(i); } } for (int i = GuildEntries.Count - 1; i >= 0; i--) { if (GuildEntries[i].Expired) { GuildEntries.RemoveAt(i); } } if (MysteriousPotionEffects != null) { var list = new List <Mobile>(MysteriousPotionEffects.Keys); foreach (var m in list) { if (MysteriousPotionEffects != null && MysteriousPotionEffects.ContainsKey(m) && MysteriousPotionEffects[m] < DateTime.UtcNow) { MysteriousPotionEffects.Remove(m); if (MysteriousPotionEffects.Count == 0) { MysteriousPotionEffects = null; } } } ColUtility.Free(list); } CheckTimer(); }
public static void Load(GenericReader reader) { int version = reader.ReadInt(); int greetingsCount = 0; switch (version) { case 1: greetingsCount = reader.ReadInt(); int count = reader.ReadInt(); for (int i = 0; i < count; i++) { PlayerMobile pm = reader.ReadMobile() as PlayerMobile; if (pm != null) { AddExempt(pm); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { TownCryerGreetingEntry entry = new TownCryerGreetingEntry(reader); if (!entry.Expired) { GreetingsEntries.Add(entry); } } goto case 0; case 0: count = reader.ReadInt(); for (int i = 0; i < count; i++) { TownCryerModeratorEntry entry = new TownCryerModeratorEntry(reader); if (!entry.Expired) { ModeratorEntries.Add(entry); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { TownCryerCityEntry entry = new TownCryerCityEntry(reader); if (!entry.Expired) { CityEntries.Add(entry); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { TownCryerGuildEntry entry = new TownCryerGuildEntry(reader); if (!entry.Expired) { GuildEntries.Add(entry); } } count = reader.ReadInt(); for (int i = 0; i < count; i++) { Mobile m = reader.ReadMobile(); DateTime dt = reader.ReadDateTime(); if (m != null) { if (MysteriousPotionEffects == null) { MysteriousPotionEffects = new Dictionary <Mobile, DateTime>(); } MysteriousPotionEffects[m] = dt; } } break; } if (greetingsCount < GreetingsEntries.Count) { NewGreeting = true; } CheckTimer(); }
public static int CityEntryCount(City city) { return(CityEntries.Where(x => x.City == city).Count()); }
public static void AddEntry(TownCryerCityEntry entry) { CityEntries.Add(entry); CheckTimer(); }