3 private static float TIME_BETWEEN_UPDATE = 1;
4 private static float LIMIT_FOR_UPDATE_ALL_THERMOMETERS = 100;
6 private static int m_LastCheckIndex;
7 private static float m_TimeToUpdate;
9 private static int m_NumUpdate = 1;
20 m_Thermometers = null;
24 static void Add(OutdoorThermometer thermometer)
28 m_Thermometers.Insert(thermometer);
30 m_NumUpdate =
Math.Ceil((m_Thermometers.Count() * TIME_BETWEEN_UPDATE) / LIMIT_FOR_UPDATE_ALL_THERMOMETERS);
34 static void Remove(OutdoorThermometer thermometer)
38 m_Thermometers.RemoveItem(thermometer);
40 m_NumUpdate =
Math.Ceil((m_Thermometers.Count() * TIME_BETWEEN_UPDATE) / LIMIT_FOR_UPDATE_ALL_THERMOMETERS);
44 static void Update(
float timeslice)
46 int count = m_Thermometers.Count();
49 if (m_TimeToUpdate < 0)
51 for (
int i = 0; i < m_NumUpdate; i++)
53 if (m_LastCheckIndex >= count)
56 m_Thermometers[m_LastCheckIndex].UpdateTemperature();
60 m_TimeToUpdate = TIME_BETWEEN_UPDATE;
63 m_TimeToUpdate -= timeslice;