chore: sync latest changes
This commit is contained in:
@@ -21,17 +21,23 @@ interface WatchedRecord {
|
||||
timestamp: number
|
||||
}
|
||||
|
||||
interface AchievementRecord {
|
||||
achievementId: string
|
||||
}
|
||||
|
||||
class SaveDB extends Dexie {
|
||||
saves!: Table<SaveRecord, number>
|
||||
unlocks!: Table<UnlockRecord, string>
|
||||
watched!: Table<WatchedRecord, string>
|
||||
achievements!: Table<AchievementRecord, string>
|
||||
|
||||
constructor() {
|
||||
super('MovieGameSaves')
|
||||
this.version(4).stores({
|
||||
this.version(5).stores({
|
||||
saves: '++id, slot',
|
||||
unlocks: 'chapterId',
|
||||
watched: 'sceneId',
|
||||
achievements: 'achievementId',
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -120,4 +126,16 @@ export class SaveSystem {
|
||||
const records = await db.watched.toArray()
|
||||
return records.map((r) => r.sceneId)
|
||||
}
|
||||
|
||||
async unlockAchievement(id: string) {
|
||||
const exists = await db.achievements.get(id)
|
||||
if (!exists) {
|
||||
await db.achievements.put({ achievementId: id })
|
||||
}
|
||||
}
|
||||
|
||||
async getUnlockedAchievements(): Promise<string[]> {
|
||||
const records = await db.achievements.toArray()
|
||||
return records.map((r) => r.achievementId)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user