public static void Load() { if (Loaded) { return; } Loaded = true; log.Info("Loading started"); var start = DateTime.UtcNow; Loading = true; m_AddQueue = new Queue <IEntity>(); m_DeleteQueue = new Queue <IEntity>(); var strategy = LoadStrategy.Acquire(); strategy.LoadEntities(m_Repositories); EventSink.InvokeWorldLoad(); Loading = false; ProcessSafetyQueues(); foreach (var item in m_Items.Values) { if (item.Parent == null) { item.UpdateTotals(); } item.ClearProperties(); } foreach (var m in m_Mobiles.Values) { m.UpdateRegion(); // Is this really needed? m.UpdateTotals(); m.ClearProperties(); } if (ManualGC) { GC.Collect(); } log.Info("Loading done: {1} items, {2} mobiles ({0:F1} seconds)", (DateTime.UtcNow - start).TotalSeconds, m_Items.Count, m_Mobiles.Count); }
public void Load() { if (m_Loaded) { return; } m_Loaded = true; Console.Write("World: Loading..."); DateTime start = DateTime.Now; m_Loading = true; m_AddQueue = new Queue <IEntity>(); m_DeleteQueue = new Queue <IEntity>(); LoadStrategy strategy = LoadStrategy.Acquire(); strategy.LoadEntities(m_Repositories); EventSink.Instance.InvokeWorldLoad(); m_Loading = false; ProcessSafetyQueues(); foreach (Item item in m_Items.Values) { if (item.Parent == null) { item.UpdateTotals(); } item.ClearProperties(); } foreach (Mobile m in m_Mobiles.Values) { m.UpdateRegion(); // Is this really needed? m.UpdateTotals(); m.ClearProperties(); } if (ManualGC) { System.GC.Collect(); } Console.WriteLine(String.Format("done: {1} items, {2} mobiles ({0:F1} seconds)", (DateTime.Now - start).TotalSeconds, m_Items.Count, m_Mobiles.Count)); }