Starystars67 011769d0b6 New concept MainMenu is now loosely ready for testing.
This is a functional mainmenu which can be tested in-game.
2023-05-08 22:31:07 +01:00

171 lines
4.1 KiB
JavaScript

import { onCondition, inPath } from "./resourceLoader.js"
const paths = {
MAIN_ENTRYPOINT: '/ui/entrypoints/main',
EXTERNAL_LIBS: '/ui/lib/ext',
INTERNAL_LIBS: '/ui/lib/int',
VUE_DIST: '/ui/ui-vue/dist',
ANGULAR_MODULES: '/ui/modules',
}
const conditions = {
VUE_DEV: env => env.isVueDev,
NOT_VUE_DEV : env => !env.isVueDev
}
export default [
// for external clients: emulation over websocket
`${paths.MAIN_ENTRYPOINT}/comms.js`,
// Vue START
...onCondition(conditions.NOT_VUE_DEV,
inPath(paths.VUE_DIST, [
{ type: "module", src: '/index.js' },
'/index.css'
])
),
...onCondition(conditions.VUE_DEV,
{src:'http://localhost:9000/src/main.js', type: 'module'}
),
{src: `${paths.EXTERNAL_LIBS}/vue-i18n-next/vue-i18n.global.prod.js`, defer: true},
{src: `${paths.EXTERNAL_LIBS}/tiny-emitter/tinyemitter.js`, defer: true},
{src: `${paths.INTERNAL_LIBS}/vueService.js`}, //, defer: true},
{src: `${paths.MAIN_ENTRYPOINT}/angularModules.js`, defer: true},
// 3rd party includes
...inPath(paths.EXTERNAL_LIBS, [
'/angular/angular.js',
'/angular/angular-animate.js',
'/angular/angular-aria.js',
'/angular/angular-sanitize.js',
'/angular-ui-router.min.js',
'/angular-material/angular-material.js',
'/smoothie.min.js',
'/angular-translate/angular-translate-beamng.js',
'/angular-translate/angular-translate-loader-static-files/angular-translate-loader-static-files.js',
'/angular-translate/angular-translate-handler-log/angular-translate-handler-log.js',
'/ocLazyLoad.min.js',
'/angular-toastr.tpls.min.js',
'/spine-canvas.js',
'/angular-material-paging.js',
'/jk-rating-stars.min.js',
'/chartist.min.js',
'/hu.js',
'/qrcode.min.js',
// LottieJS
'/lottie.min.js',
// 3rd party test
'/ng-FitText.js',
'/angular-toastr.min.css',
'/angular-material-paging.css',
'/jk-rating-stars.min.css',
'/chartist.min.css',
]),
// BeamNG UI
`${paths.MAIN_ENTRYPOINT}/main.js`,
...inPath(paths.INTERNAL_LIBS, [
'/beamng-core.js',
'/utilities.js',
'/beamng-data.js'
]),
...inPath(paths.EXTERNAL_LIBS, [
'/mdx.js',
'/crossfire-chrome.js',
]),
// Controls
...inPath(paths.INTERNAL_LIBS, [
'/beamng.controls.js',
'/beamng.controls.css',
]),
// Angular Modules
...inPath(paths.ANGULAR_MODULES, [
'/levelselect/levelselect.js',
'/photomode/photomode.js',
'/replay/replay.js',
'/environment/environment.js',
'/scenarioselect/scenarioselect.js',
'/scenariocontrol/scenariocontrol.js',
'/comic/comic.js',
'/vehicleselect/vehicleselect.js',
'/options/options.js',
'/startScreen/startScreen.js',
'/vehicleconfig/vehicleconfig.js',
'/loading/loading.js',
'/repository/repository.js',
'/automation/automation.js',
'/quickrace/quickrace.js',
'/lightrunner/lightrunner.js',
'/dragrace/dragrace.js',
'/mapview/mapview.js',
'/gameContext/gameContext.js',
'/bigmap/bigmap.js',
'/mainmenu/mainmenu.js',
'/menu/menu.js',
'/onlineFeatures/online.js',
'/career/career.js',
'/careerPause/careerPause.js',
'/introPopup/intro.js',
'/careerQuests/quests.js',
'/careerTasklist/tasklist.js',
'/careerVehicleSelect/careerVehicleSelect.js',
'/threeElementSelect/threeElementSelect.js',
'/careerLogBook/logBook.js',
'/appselect/appselect.js',
'/appedit/appedit.js',
'/modmanager/modmanager.js',
'/play/play.js',
'/garage/garage.js',
'/refueling/refueling.js',
'/partInventory/partInventory.js',
'/apps/app-service.js',
'/apps/app-container.js',
'/apps/app.js',
'/campaignselect/campaignselect.js',
'/busRoute/busRoute.js',
'/iconView/icons.js',
'/fadeScreen/fadeScreen.js',
'/atom/title/title.js',
'/atom/card/card.js',
'/atom/tabs/tabs.js',
'/mainmenu/mainmenu.css',
'/menu/menu.css',
'/introPopup/intro.css',
]),
...inPath(paths.INTERNAL_LIBS, [
'/mission-popups/mission-popups.js',
'/colorpicker/color.js',
'/ui-components/bng-components.js',
'/ui-components/bng-components.css'
]),
`${paths.EXTERNAL_LIBS}/keys.css`
]