private void RebuildTree()
        {
            var list = LoadedOnly.ToDictionary(x => x.Id, x => x);

            foreach (var careerObject in list.Values)
            {
                careerObject.NextCareerObject = null;
            }

            foreach (var career in list.Values)
            {
                var previous = (from id in career.RequiredSeries where list.ContainsKey(id) let entry = list[id] where entry.NextCareerObject == null select entry).ToList();
                if (!previous.Any())
                {
                    continue;
                }

                if (!career.RequiredAnySeries)
                {
                    var p = previous[0];
                    foreach (var o in previous.Skip(1))
                    {
                        p.NextCareerObject = o;
                    }
                }

                foreach (var previousCareer in career.RequiredAnySeries ? previous : previous.TakeLast(1))
                {
                    previousCareer.NextCareerObject = career;
                }
            }
        }
 private void Drive_PropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     if (e.PropertyName != nameof(SettingsHolder.DriveSettings.KunosCareerUserSkin) || SettingsHolder.Drive.KunosCareerUserSkin)
     {
         return;
     }
     foreach (var ev in LoadedOnly.SelectMany(x => x.Events))
     {
         ev.ResetSkinToDefault();
     }
 }
Example #3
0
 public SpecialEventObject GetByGuid(string guid)
 {
     return(LoadedOnly.FirstOrDefault(x => x.Guid == guid));
 }