public void HandleLoadEnd(long timestamp, string zoneName)
        {
            if (settings.LoadRemovalEnabled)
            {
                loadTimes += timestamp - startTimestamp.GetValueOrDefault(timestamp);
                timer.CurrentState.IsGameTimePaused = false;
                timer.CurrentState.LoadingTimes     = TimeSpan.FromMilliseconds(loadTimes);
            }

            IZone zone = Zone.Parse(zoneName, encounteredZones);

            if (settings.AutoSplitEnabled)
            {
                if (settings.CriteriaToSplit == ComponentSettings.SplitCriteria.Labyrinth)
                {
                    if (labStarted && (settings.LabSplitType == ComponentSettings.LabSplitMode.AllZones ||
                                       (settings.LabSplitType == ComponentSettings.LabSplitMode.Trials && ASPIRANTS_TRIAL.Equals(zone))))
                    {
                        timer.Split();
                    }
                }
                else if (settings.CriteriaToSplit == ComponentSettings.SplitCriteria.Zones)
                {
                    if (!encounteredZones.Contains(zone) && settings.SplitZones.Contains(zone))
                    {
                        timer.Split();
                    }
                    // Keep track of all encountered zones for part prediction.
                    encounteredZones.Add(zone);
                }
            }
            previousZone = zone;
        }
 void _gameMemory_OnSplit(object sender, EventArgs e)
 {
     _timer.Split();
 }