AcManager.Tools.Objects.TrackObject.GetLayouts C# (CSharp) Method

GetLayouts() private method

private GetLayouts ( ) : LayoutsInformation
return LayoutsInformation
        private LayoutsInformation GetLayouts() {
            var uiDirectory = Path.Combine(Location, "ui");
            if (!Directory.Exists(uiDirectory)) throw new AcErrorException(this, AcErrorType.Data_UiDirectoryIsMissing);

            var basic = Path.Combine(uiDirectory, "ui_track.json");
            var additional = Directory.GetDirectories(uiDirectory).Where(x => File.Exists(Path.Combine(x, "ui_track.json"))).ToList();
            if (additional.Count == 0) return null;

            if (File.Exists(basic)) {
                return new LayoutsInformation {
                    MainLayout = uiDirectory,
                    AdditionalLayouts = additional.ToList(),
                    SimpleMainLayout = true
                };
            }

            return new LayoutsInformation {
                MainLayout = additional[0],
                AdditionalLayouts = additional.Skip(1).ToList(),
                SimpleMainLayout = false
            };
        }