public static Task StartAsync(CustomShowroomMode mode, CarObject car, CarSkinObject skin = null) {
     return StartAsync(mode, FileUtils.GetMainCarFilename(car.Location), skin?.Id);
 }
        public static Task StartAsync(CustomShowroomMode mode, string kn5, string skinId = null) {
            switch (mode) {
                case CustomShowroomMode.Lite:
                    return StartLiteAsync(kn5, skinId);

                case CustomShowroomMode.Fancy:
                    var showroomId = SettingsHolder.CustomShowroom.ShowroomId;
                    return StartFancyAsync(kn5, skinId, showroomId == null ? null : ShowroomsManager.Instance.GetById(showroomId)?.Kn5Filename);

                default:
                    throw new ArgumentOutOfRangeException(nameof(mode), mode, null);
            }
        }