From f2bff6701eed36c74cea88b68e4dcbe863f0f338 Mon Sep 17 00:00:00 2001 From: Sempiternity87 Date: Tue, 10 Dec 2019 16:55:51 -0800 Subject: [PATCH] Started work on importing save file. --- .gitignore | 2 ++ package.json | 3 ++- src/components/Settings.vue | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 541a820..3793e40 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,5 @@ yarn-error.log* *.ntvs* *.njsproj *.sln +/App.js +/package-lock.json diff --git a/package.json b/package.json index 7f4a717..2dd0bf9 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,8 @@ "vue-clipboard2": "^0.3.0", "vue-router": "^3.0.1", "vuex": "^3.0.1", - "vuex-persistedstate": "^2.5.4" + "vuex-persistedstate": "^2.5.4", + "xml-js": "^1.6.11" }, "devDependencies": { "autoprefixer": "^7.1.2", diff --git a/src/components/Settings.vue b/src/components/Settings.vue index 0af4f28..75e1196 100644 --- a/src/components/Settings.vue +++ b/src/components/Settings.vue @@ -109,6 +109,13 @@ + + +
+
+ +
+
@@ -142,6 +149,7 @@ import { faCopy, faTrash, faCloudUploadAlt } from '@fortawesome/fontawesome-free import 'mdi-vue/ContentCopyIcon' import 'mdi-vue/UploadIcon' import 'mdi-vue/DeleteIcon' +import XmlJs from 'xml-js' export default { name: 'Settings', components: { @@ -225,6 +233,30 @@ export default { alert('Data Loaded!') } }, + OnFileChange: function (e) { + var files = e.target.files || e.dataTransfer.files + if (files.length) { + let file = files[0] + let reader = new FileReader() + reader.readAsText(file, 'UTF-8') + reader.onload = evt => { + let f = XmlJs.xml2js(evt.target.result, { compact: true, spaces: 2 }) + + console.log(f) + + let locations = f.SaveGame.locations.GameLocation + for (let i = 0; i < locations.length; i++) { + if (locations[i].name._text === 'CommunityCenter') { + console.log(locations[i]) + } + } + console.log('Done printing') + } + reader.onerror = evt => { + console.error(evt) + } + } + }, ConfirmDelete: function () { if (this.DeleteConfirm) { this.$store.commit('resetData')