/* * Function: TrackMenu * * Starts tracking the time spent in the current menu * * Parameters: * * newMenu - The menu to be tracked * * See Also: * * - <EndMenuTrack> */ void TrackMenu(TimeInMenu newMenu) { EndMenuTrack(); curMenu = newMenu; curMenuStart = System.DateTime.Now; }
/* * Function: initStatTracking * * Initializes statistics tracking variables. Called by <StartSceneTrack> if needed. * * See Also: * * - <StartSceneTrack> */ private void initStatTracking() { if (Stats == null) { Stats = new Hashtable(); trackingScene = false; curMenu = (TimeInMenu)(-1); curScene = ""; } }
/* * Function: EndMenuTrack * * Stops tracking the current menu. This should be called any time a menu is closed completely. For instance, if you are closing the in-game menu and going back to gameplay. You can just call TrackMenu again if you are switching between menus * * See Also: * * - <TrackMenu> */ void EndMenuTrack() { if ((int)curMenu != -1) { StartSceneTrack(); System.TimeSpan newTime = new System.TimeSpan(0, 0, 0); if (((Hashtable)Stats[curScene])["time_in_" + curMenu.ToString()] != null) { newTime = (TimeSpan)((Hashtable)Stats[curScene])["time_in_" + curMenu.ToString()]; } newTime.Add(System.DateTime.Now.Subtract(curMenuStart)); ((Hashtable)Stats[curScene])["time_in_" + curMenu.ToString()] = newTime; curMenu = (TimeInMenu)(-1); } }