mutations.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { defaultState } from '@/store/state'
  2. import Experiences from '@/router/experiences'
  3. export default {
  4. increment(state, amount = 1) {
  5. state.count += amount
  6. },
  7. resetApp(state, { hostConfig, scenesList, progression }) {
  8. if (hostConfig) state.hostConfig = defaultState.hostConfig
  9. if (scenesList) state.scenesList = defaultState.scenesList
  10. if (progression) state.progression = defaultState.progression
  11. },
  12. setHostConfig(state, newConfig) {
  13. state.hostConfig = newConfig
  14. },
  15. setListScenes(state, scenes) {
  16. state.scenesList = scenes
  17. const scenesProgressObj = scenes.reduce((acc, x) => {
  18. acc[x] = { done: false, data: {} }
  19. return acc
  20. }, {})
  21. const progressionObj = Experiences.reduce((acc, x) => {
  22. acc[x.name] = scenesProgressObj
  23. return acc
  24. }, {})
  25. state.progression = progressionObj
  26. },
  27. setExperienceProgress(state, { experienceName, sceneName, data }) {
  28. if (!state.progression[experienceName])
  29. state.progression[experienceName] = {}
  30. if (!state.progression[experienceName][sceneName])
  31. state.progression[experienceName][sceneName] = { done: false, data: {} }
  32. state.progression[experienceName][sceneName].data = data
  33. },
  34. setExperienceDone(state, { experienceName, sceneName, done }) {
  35. if (!state.progression[experienceName])
  36. state.progression[experienceName] = {}
  37. if (!state.progression[experienceName][sceneName])
  38. state.progression[experienceName][sceneName] = { done: false, data: {} }
  39. state.progression[experienceName][sceneName].done = done
  40. }
  41. }