From 114e3f712e743ddfa24e584ac3a590c9a3e4e7b2 Mon Sep 17 00:00:00 2001 From: legonzaur Date: Sat, 20 Apr 2024 15:04:32 +0200 Subject: [PATCH] Some game actions work --- app.vue | 29 ++++++++----- components/CardPreview.vue | 32 +++++++++------ components/CardSlot.vue | 19 +++++++-- components/GameBoard.vue | 44 ++++++++++++++++---- components/PlayerList.vue | 18 ++++++++ components/PlayerSlot.vue | 84 ++++++++++++++++++++++++++++++++++---- 6 files changed, 183 insertions(+), 43 deletions(-) create mode 100644 components/PlayerList.vue diff --git a/app.vue b/app.vue index 5f82ade..ae87610 100644 --- a/app.vue +++ b/app.vue @@ -2,11 +2,16 @@ import { ref } from 'vue'; const cards = useState<{ [key: string]: any }>('cards', () => ({})) const players = useState<{ [key: string]: any }>('players', () => ({})) +const teams = useState<{ [key: string]: any }>('teams', () => ({})) const self = useState('self') -let gameObjects = useState<{ [key: string]: any }>('gameObject', () => ({})) +const gameObjects = useState<{ [key: string]: any }>('gameObject', () => ({})) + +const socket = useState('socket', () => new WebSocket("ws://127.0.0.1:8765")) + let game = ref({ started: true }) let context = ref('login') -const socket = new WebSocket("ws://127.0.0.1:8765") +let username = ref('legonzaur') + const createObject = { "card": (data: any) => { @@ -21,14 +26,17 @@ const createObject = { game.value = data gameObjects.value[data.uuid] = data }, - "team": () => { } + "team": (data: any) => { + teams.value[data.uuid] = data + gameObjects.value[data.uuid] = data + } } as { [id: string]: (data: Object) => any } -socket.onopen = function (e) { +socket.value.onopen = function (e) { console.log("[open] Connection established"); }; -socket.onclose = function (event) { +socket.value.onclose = function (event) { if (event.wasClean) { console.warn(`[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`); } else { @@ -38,11 +46,11 @@ socket.onclose = function (event) { } }; -socket.onerror = function (error) { +socket.value.onerror = function (error) { console.error(error); }; -socket.onmessage = function (event) { +socket.value.onmessage = function (event) { const data = JSON.parse(event.data) @@ -73,7 +81,7 @@ socket.onmessage = function (event) { async function register(username: string) { - socket.send(JSON.stringify({ + socket.value.send(JSON.stringify({ type: "register", data_type: "username", data: username @@ -81,7 +89,7 @@ async function register(username: string) { } async function setReady(value: Event) { - socket.send(JSON.stringify({ + socket.value.send(JSON.stringify({ type: "ready", data_type: "ready_state", data: ((value.target as HTMLInputElement).checked) @@ -90,7 +98,8 @@ async function setReady(value: Event) {