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(); }