feat: add puzzle residence configuration and reflection progress logic

- Introduced `puzzleResidences.ts` to define puzzle residence configurations including properties like display name, position, and puzzle availability.
- Added `reflectionProgress.ts` to manage badge unlocking logic based on place completion, including functions to determine unlocked badges and video sources for scenes.
This commit is contained in:
zhongyidian committed 2026-04-27 11:49:30 +08:00
1 parent e0fa47d21a
commit f5f36f75b5
153 files changed
+3846 -2352

No files matched your search

+22 -1
View File
@@ -1,4 +1,12 @@
import { ExhibitOverlay, GuideSteps, GuideStepsItem, Image, Title, Video } from '@/components'
import {
EndingOverlay,
ExhibitOverlay,
GuideSteps,
GuideStepsItem,
Image,
Title,
Video,
} from '@/components'
import Cursor from '@/components/cursor'
import { useCursorController } from '@/hooks/useCursorController'
import { getBackgroundImage, getPublicPath, getStaticImage } from '@/lib/utils'
@@ -50,6 +58,7 @@ const RongdeshengPlace4 = () => {
const [guide3Step, setGuide3Step] = useState(0)
const [guide4Visible, setGuide4Visible] = useState(false)
const [guide4Step, setGuide4Step] = useState(0)
const [endingGuideVisible, setEndingGuideVisible] = useState(false)
if (!moduleName) return null
@@ -163,6 +172,10 @@ const RongdeshengPlace4 = () => {
saveRongdeshengStore()
return next
})
if (closingId === 4) {
setEndingGuideVisible(true)
}
}
if (closingId === 1) {
@@ -301,6 +314,14 @@ const RongdeshengPlace4 = () => {
晚年的荣先生依然关注民族工业的发展,积极建言献策,他创办的企业后来成为新中国轻工业的重要骨干,为国家的经济建设贡献了力量。
</GuideStepsItem>
</GuideSteps>
<EndingOverlay
visible={endingGuideVisible}
audioSrc={getPublicPath('audio/rongdesheng/mp3_rongdesheng_30.mp3')}
text="接下来,请你跨越时空,走进1915年的申新纺织厂,参与工厂的创办与运营中,在模拟决策中感受民族工业在风雨中崛起的力量。让我们带着这份感动与启发,传承爱国情怀,续写新时代的实业篇章。"
animationSpeed={200}
onContinue={() => setEndingGuideVisible(false)}
/>
</div>
)
}