npm update, removed player store and merged it with socket store, worked on character creation & selection (partially works)

This commit is contained in:
2024-05-31 01:10:21 +02:00
parent 195a74d1e6
commit a4df323d7b
7 changed files with 100 additions and 60 deletions

View File

@ -1,14 +0,0 @@
import { defineStore } from 'pinia';
import Player from '@/engine/Player/Player'
export const usePlayerStore = defineStore('player', {
state: () => ({
player: null as Player | null,
}),
actions: {
setPlayer(player: Player) {
this.player = player;
},
}
});

View File

@ -2,15 +2,18 @@ import { defineStore, type StoreDefinition } from 'pinia'
import { io, Socket } from 'socket.io-client';
import {useCookies} from '@vueuse/integrations/useCookies'
import config from '@/config';
import type { Character, User } from '../../env'
export const useSocketStore: StoreDefinition<any> = defineStore('socket', {
state: () => ({
connection: null as Socket | null,
character: null as any,
user: null as User | null,
character: null as Character | null,
}),
getters: {
getConnection: (state: any) => state.connection as Socket,
getCharacter: (state: any) => state.character,
getUser: (state: any) => state.user as User,
getCharacter: (state: any) => state.character as Character,
},
actions: {
setupSocketConnection() {
@ -23,6 +26,11 @@ export const useSocketStore: StoreDefinition<any> = defineStore('socket', {
// Let the server know the user is logged in
this.connection.emit('login');
// set user
this.connection.on('login', (user: User) => {
this.setUser(user);
});
// When we can't reconnect, disconnect
this.connection.on('reconnect_failed', () => {
console.log("Reconnect failed")
@ -40,10 +48,18 @@ export const useSocketStore: StoreDefinition<any> = defineStore('socket', {
this.connection.disconnect();
this.connection = null;
this.user = null;
this.character = null;
useCookies().remove('token');
},
setUser(user: User|null) {
this.user = user;
},
setCharacter(character: Character|null) {
this.character = character;
}
}
});