Beispiel #1
0
        public void newTimeStamp(DateTime time)
        {
            if (TimeStamps.Count > 10000) //20 minuten een maximale heap van ruwweg 90mb met het maximale aantal bodies
            {
                //remove all elements except for the first that exceed 10000
                var list = TimeStamps.ToList();
                list.RemoveRange(1, list.Count - 10000); //we want to keep the first element so you can still go back
                TimeStamps = list.ToDictionary(k => k.Key, v => v.Value);
                Console.WriteLine("Edited map to contain {0} items...", TimeStamps.Count);
            }

            Console.WriteLine("saved {0} items", CurMap.celestialBodies.Count);
            TimeStamps.Add(time, (Map)CurMap.Clone());
        }