Skip to content

Commit fd963e0

Browse files
authored
Merge branch 'dev' into zachr/1937/analytics-2
2 parents 74f4acf + d0d95b1 commit fd963e0

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

fission/src/ui/modals/MainMenuModal.tsx

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ import { Button, Stack } from "@mui/material"
22
import type React from "react"
33
import { useLayoutEffect } from "react"
44
import { globalAddToast } from "@/components/GlobalUIControls.ts"
5+
import MirabufCachingService, { MiraType } from "@/mirabuf/MirabufLoader"
56
import type { ModalImplProps } from "../components/Modal"
67
import { useStateContext } from "../helpers/StateProviderHelpers"
78
import { CloseType, useUIContext } from "../helpers/UIProviderHelpers"
9+
import { spawnCachedMira } from "../panels/mirabuf/ImportMirabufPanel"
810

911
interface MainMenuCustomProps {
1012
startSingleplayerCallback: () => void
@@ -36,6 +38,24 @@ const MainMenuModal: React.FC<ModalImplProps<void, MainMenuCustomProps>> = ({ mo
3638
>
3739
Singleplayer
3840
</Button>
41+
<Button
42+
onClick={() => {
43+
closeModal(CloseType.Accept)
44+
startSingleplayerCallback()
45+
Promise.all([
46+
MirabufCachingService.cacheRemote("/api/mira/fields/FRC Field 2023_v7.mira", MiraType.FIELD),
47+
MirabufCachingService.cacheRemote("/api/mira/robots/Dozer_v9.mira", MiraType.ROBOT),
48+
]).then(([cachedField, cachedRobot]) => {
49+
if (cachedField && cachedRobot) {
50+
spawnCachedMira(cachedField, MiraType.FIELD)
51+
spawnCachedMira(cachedRobot, MiraType.ROBOT)
52+
}
53+
})
54+
}}
55+
className="my-1"
56+
>
57+
Load Default
58+
</Button>
3959
<Button
4060
onClick={() => {
4161
globalAddToast("error", "Not Supported", "Multiplayer is not yet supported. Come back soon!")

fission/src/ui/panels/mirabuf/ImportMirabufPanel.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ function getCacheInfo(miraType: MiraType): MirabufCacheInfo[] {
9494
)
9595
}
9696

97-
function spawnCachedMira(info: MirabufCacheInfo, type: MiraType, progressHandle?: ProgressHandle) {
97+
export function spawnCachedMira(info: MirabufCacheInfo, type: MiraType, progressHandle?: ProgressHandle) {
9898
// If spawning a field, then remove all other fields
9999
if (type === MiraType.FIELD) {
100100
World.sceneRenderer.removeAllFields()

0 commit comments

Comments
 (0)