1const SELECT_CHARA_MUTATION = "SELECT_CHARA_MUTATION" 2const ADD_SKILL_AND_TIME_MUTATION = "ADD_SKILL_AND_TIME_MUTATION" 3const REMOVE_SKILL_AND_TIME_MUTATION = "REMOVE_SKILL_AND_TIME_MUTATION" 4const CLEAR_MUTATION = "CLEAR_MUTATION" 5const INIT_CHARAS_MUTATION = "INIT_CHARAS_MUTATION" 6 7const store = new Vuex.Store({ 8 strict: ENVIROMENT_IS_DEVELOPMENT, 9 state: { 10 charas : [], 11 selectedCharas : [], 12 addedSkillsAndTimes: [], 13 }, 14 mutations: { 15 [INIT_CHARAS_MUTATION](state, charas) { 16 state.charas = charas 17 }, 18 [SELECT_CHARA_MUTATION](state, chara) { 19 if (state.selectedCharas.includes(chara)) { 20 let index = state.selectedCharas.indexOf(chara) 21 state.selectedCharas.splice(index, 1) 22 23 if (state.selectedCharas == 0) { 24 clearArrays(state.addedSkillsAndTimes) 25 } 26 } 27 else if (state.selectedCharas.length < 5) { 28 state.selectedCharas.push(chara) 29 state.selectedCharas.sort((a, b) => b.position - a.position) 30 } 31 }, 32 [ADD_SKILL_AND_TIME_MUTATION](state, item) { 33 state.addedSkillsAndTimes.push(item) 34 state.addedSkillsAndTimes.sort((a, b) => b.useTime.toTotalSecond(true) - a.useTime.toTotalSecond(true)) 35 }, 36 [REMOVE_SKILL_AND_TIME_MUTATION](state, item) { 37 let index = state.addedSkillsAndTimes.indexOf(item) 38 state.addedSkillsAndTimes.splice(index, 1) 39 }, 40 [CLEAR_MUTATION](state) { 41 clearArrays(state.selectedCharas, state.addedSkillsAndTimes) 42 }, 43 }, 44 getters: { 45 charaIsSelected(state) { 46 return chara => state.selectedCharas.includes(chara) 47 }, 48 timelines(state) { 49 let skillNames = [...new Set(state.addedSkillsAndTimes.map(item => item.name))] 50 51 return skillNames.map(skillName => { 52 let t = state.addedSkillsAndTimes.filter(item => item.name == skillName) 53 54 let chara = t[0].chara 55 let name = t[0].name 56 let time = t[0].time 57 let useTimes = t.map(({ useTime }) => useTime.toTotalSecond(true)) 58 59 return new Timeline(chara, name, time, useTimes) 60 }) 61 }, 62 }, 63})
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.