feat: P1 core - seamless video switching, conditional branches, save/load
- VideoManager: A/B dual-buffered video with crossfade transitions and candidate preloading - Engine: condition-based choice filtering, ChoiceSystem timer, resumeScene for save/load - SceneManager: getCandidateUrls for preloading next scenes - SaveSystem: Dexie.js IndexedDB multi-slot save/load - ChoiceSystem: timed choices with countdown and auto-default on timeout - GamePlayer: dual video elements with crossfade CSS - ChoicePanel: timer progress bar and countdown text - SaveLoadMenu: save/load UI component - App.vue: menu trigger, dual video refs, save/load integration - gameStore: timer state, saves list - demo.json: conditional choice example (secret ending, requires trust >= 80) - ROADMAP: mark P1 as completed
This commit is contained in:
@@ -68,6 +68,23 @@
|
||||
"trust_ending": {
|
||||
"id": "trust_ending",
|
||||
"videoUrl": "/videos/trust_ending.mp4",
|
||||
"choices": [
|
||||
{
|
||||
"text": "开启信任的旅程(需要 trust >= 80)",
|
||||
"targetScene": "secret_ending",
|
||||
"conditions": [
|
||||
{ "variable": "trust", "op": ">=", "value": 80 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"text": "离开这里",
|
||||
"targetScene": "alone_ending"
|
||||
}
|
||||
]
|
||||
},
|
||||
"secret_ending": {
|
||||
"id": "secret_ending",
|
||||
"videoUrl": "/videos/continue_ending.mp4",
|
||||
"choices": []
|
||||
},
|
||||
"alone_ending": {
|
||||
|
||||
Reference in New Issue
Block a user