Browse Source

more player management;

master
Nero Ignis 3 years ago
parent
commit
661d1bd0b9
  1. 32
      src/components/HelloWorld.vue
  2. 40
      src/store/index.js

32
src/components/HelloWorld.vue

@ -1,44 +1,40 @@ @@ -1,44 +1,40 @@
<template>
<div>
<div v-if="!$store.state.player">
<input type="text" name="username" v-model="userNameInput"><br>
<input type="text" name="username" v-model="playerNameInput"><br>
<button @click="createNewPlayer">Erstellen</button>
{{ response }}
</div>
<div v-else>
Hello, {{ $store.state.player.name }}
Hello, {{ $store.state.player.name }}<br>
<br>
<button @click="destroyPlayer">Spielstand löschen</button>
</div>
</div>
</template>
<script>
import axios from "axios";
export default {
name: 'HelloWorld',
data() {
return {
userNameInput: "",
playerNameInput: "",
response: ''
}
},
mounted() {
this.$store.commit('fetchUser');
this.$store.commit('fetchPlayer');
},
methods: {
createNewPlayer() {
let component = this;
axios.post('http://api.luna-development.net/api/player/create', {
name: this.userNameInput.trim(),
game_id: 1
}).then((response) => {
console.log(response);
component.response = response.data;
localStorage.setItem('farmfresh_uuid', response.data.uuid);
}).catch((error) => {
console.log(error);
})
if (this.playerNameInput.trim().length > 0) {
this.$store.commit('createNewPlayer', this.playerNameInput);
} else {
alert('User name was not provided');
}
},
destroyPlayer() {
this.$store.commit('destroyPlayer');
}
}
}

40
src/store/index.js

@ -8,7 +8,8 @@ export default createStore({ @@ -8,7 +8,8 @@ export default createStore({
},
getters: {},
mutations: {
fetchUser(state) {
fetchPlayer(state) {
let vuex = this;
let existingUserUuid = localStorage.getItem('farmfresh_uuid');
if (existingUserUuid != null) {
@ -17,13 +18,48 @@ export default createStore({ @@ -17,13 +18,48 @@ export default createStore({
).then((response) => {
if (response.data && response.data.uuid) {
state.player = response.data;
vuex.commit('fetchInventory');
} else {
alert('User not found');
}
}).catch((error) => {
alert('User not found');
console.log(error);
});
}
},
fetchInventory(state) {
axios.get(
'http://api.luna-development.net/api/inventory/fetch/'+state.player.uuid
).then((response) => {
if (response.data.success) {
state.inventory = response.data.inventory;
}
});
},
createNewPlayer(state, userName) {
axios.post('http://api.luna-development.net/api/player/create', {
name: userName.trim(),
game_id: 1
}).then((response) => {
if (response.data.success) {
state.player = response.data.player;
localStorage.setItem('farmfresh_uuid', response.data.player.uuid);
}
});
},
destroyPlayer(state) {
axios.post('http://api.luna-development.net/api/player/destroy', {
name: state.player.name,
uuid: state.player.uuid
}).then((response) => {
if (response.data.success) {
state.player = null;
localStorage.removeItem('farmfresh_uuid');
}
});
}
},
actions: {},
modules: {}
})
});

Loading…
Cancel
Save