public static IEnumerable<IAcError> GetNearestErrors(AcError error) {
// all children are here
// shitty solution, but whatever
var skin = error.Target as CarSkinObject;
if (skin != null) {
var skins = CarsManager.Instance.GetById(skin.CarId)?.SkinsManager;
return skins?.IsScanned == true ? skins.SelectMany(x => x.Errors) : new IAcError[0];
}
var setup = error.Target as CarSetupObject;
if (setup != null) {
return CarsManager.Instance.GetById(setup.CarId)?.GetSetupsManagerIfInitialized()?.LoadedOnly.SelectMany(x => x.Errors) ?? new IAcError[0];
}
return new IAcError[0];
}