AcManager.Tools.Data.KunosCareerProgress.Save C# (CSharp) Method

Save() private method

private Save ( ) : void
return void
        private void Save() {
            var iniFile = new IniFile(_filename) {
                ["CAREER"] = {
                    ["COMPLETE"] = Completed.JoinToString(','),
                    ["CURRENTSERIES"] = CurrentSeries,
                    ["AI_LEVEL"] = AiLevel,
                    ["INTRO"] = IsNew ? 0 : 2,
                }
            };

            foreach (var pair in Entries) {
                var section = iniFile[pair.Key.ToUpperInvariant()];
                section.Clear();

                section["LASTSELECTED"] = pair.Value.LastSelectedTimestamp;
                section["EVENT"] = pair.Value.SelectedEvent;

                if (pair.Value.Points.HasValue) {
                    section["POINTS"] = pair.Value.Points;
                } else {
                    section.Remove(@"POINTS");
                }

                foreach (var result in pair.Value.EventsResults.Where(x => x.Value != 0)) {
                    section[$"EVENT{result.Key}"] = result.Value;
                }

                foreach (var result in pair.Value.AiPoints.Where(x => x.Value != 0)) {
                    section[$"AI{result.Key + 1}"] = result.Value;
                }
            }

            if (!File.Exists(_filename + ".backup")) {
                File.Copy(_filename, _filename + ".backup");
            }

            _ignoreChanges = DateTime.Now;
            iniFile.Save();
        }

Usage Example

Example #1
0
 public static void SaveBeforeExit()
 {
     if (_instance == null || !_instance._savingInProgress)
     {
         return;
     }
     _instance.Save();
 }