Example #1
0
 private string GetCurrentSplit(LogicManager logic, SplitterSettings settings)
 {
     if (logic.CurrentSplit >= settings.Autosplits.Count)
     {
         return("N/A");
     }
     return(settings.Autosplits[logic.CurrentSplit].ToString());
 }
Example #2
0
 public UserSettings(LiveSplitState state, LogManager log)
 {
     InitializeComponent();
     Settings = new SplitterSettings();
     State    = state;
     Log      = log;
     Dock     = DockStyle.Fill;
 }
Example #3
0
        public void Update(LogicManager logic, SplitterSettings settings)
        {
            if (!EnableLogging)
            {
                return;
            }

            lock (currentValues) {
                DateTime date      = DateTime.Now;
                bool     updateLog = true;

                foreach (LogObject key in Enum.GetValues(typeof(LogObject)))
                {
                    string previous = currentValues[key];
                    string current  = null;

                    switch (key)
                    {
                    case LogObject.CurrentSplit: current = $"{logic.CurrentSplit} ({GetCurrentSplit(logic, settings)})"; break;

                    case LogObject.Pointers: current = logic.Memory.GamePointers(); break;

                    case LogObject.Version: current = MemoryManager.Version.ToString(); break;

                    case LogObject.Loading: current = logic.Memory.IsLoading().ToString(); break;

                    case LogObject.SceneName: current = updateLog ? logic.Memory.SceneName() : previous; break;

                    case LogObject.SaveCount: current = updateLog ? logic.Memory.SaveDataCount().ToString() : previous; break;

                    case LogObject.SaveData: if (updateLog)
                        {
                            CheckItems <SaveData>(key, currentSaveData, logic.Memory.SaveData());
                        }
                        break;
                    }

                    if (previous != current)
                    {
                        AddEntryUnlocked(new ValueLogEntry(date, key, previous, current));
                        currentValues[key] = current;
                    }
                }
            }
        }
Example #4
0
 public LogicManager(SplitterSettings settings)
 {
     Memory    = new MemoryManager();
     Settings  = settings;
     splitLate = DateTime.MaxValue;
 }