feat: auto-save on scene change + resume from auto-save
- useGameEngine: auto-save to slot 0 on every sceneChange event - useGameEngine: add resumeAutoSave() for continuing from auto-save - useGameEngine: extract registerEvents() to share between start and resume - SaveLoadMenu: show slot 0 as '自动存档' with distinct styling and read-only button - App.vue: check auto-save on load, show '继续上次进度' button if available
This commit is contained in:
@@ -21,6 +21,23 @@ const maxSlots = 5
|
||||
<h2 class="save-title">存档 / 读档</h2>
|
||||
|
||||
<div class="slot-list">
|
||||
<div class="save-slot auto-save-slot">
|
||||
<div class="slot-label auto-save-label">自动存档</div>
|
||||
<div class="slot-info" v-if="saves.find(s => s.slot === 0)">
|
||||
{{ saves.find(s => s.slot === 0)!.sceneLabel }}
|
||||
</div>
|
||||
<div class="slot-info empty" v-else>暂无自动存档</div>
|
||||
<div class="slot-actions">
|
||||
<button
|
||||
class="slot-btn load-btn"
|
||||
:disabled="!saves.find(s => s.slot === 0)"
|
||||
@click="emit('load', 0)"
|
||||
>
|
||||
读取
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
v-for="slot in maxSlots"
|
||||
:key="slot"
|
||||
@@ -94,6 +111,15 @@ const maxSlots = 5
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.auto-save-slot {
|
||||
border-color: rgba(100, 200, 255, 0.3);
|
||||
background: rgba(100, 200, 255, 0.06);
|
||||
}
|
||||
|
||||
.auto-save-label {
|
||||
color: #6cf;
|
||||
}
|
||||
|
||||
.slot-label {
|
||||
font-size: 14px;
|
||||
color: #aaa;
|
||||
|
||||
Reference in New Issue
Block a user