Files
front/stores/turnStore.ts
T
2024-07-03 00:04:23 +02:00

57 lines
2.2 KiB
TypeScript

import { defineStore } from "pinia";
import type { Game } from "~/netcode/interfaces";
// import goStore, { useEffect } from "~/netcode";
// import type { Card } from "~/netcode/Card";
// import { CardEffects, type Effect } from "~/netcode/Effect";
// import type { Player } from "~/netcode/Player";
// watch(
// () => goStore.current_game?.current_turn?.uuid,
// () => {
// useClientSideStore().activatedClientside = []
// })
export const useTurnStore = defineStore("turn", {
// state: () => ({
// activatedClientside: [] as Effect[],
// effectsHandled: new Set([
// CardEffects.MAKE_DISCARD,
// CardEffects.PLAY_NEXT_CARD_BOUGHT,
// CardEffects.RESTACK_DISCARDED_CARD,
// CardEffects.RESTACK_DISCARDED_CHAMPION,
// CardEffects.SACRIFICE,
// CardEffects.STACK_NEXT_ACTION_BOUGHT,
// CardEffects.STACK_NEXT_CARD_BOUGHT,
// CardEffects.STUN,
// CardEffects.PREPARE
// ]),
// }),
// getters: {
// maskedServerEffects(state) {
// return goStore.self?.turn?.effects_availables.filter(e => !state.activatedClientside.includes(e));
// },
// },
// actions: {
// activateEffect(effect: Effect) {
// const amount =
// goStore.self?.turn?.effects_availables.filter((e) => e == effect)
// .length ?? 0;
// for (let i = 0; i < amount; i++) {
// this.activatedClientside.push(effect);
// }
// },
// useEffect(effect: Effect, target: Player | Card) {
// const index = this.activatedClientside.indexOf(effect);
// if (index > -1) {
// this.activatedClientside.splice(index, 1);
// useEffect(effect, target);
// }
// },
// findUseEffect(cardEffect: CardEffects, target: Player | Card) {
// const effect = this.activatedClientside.find(e => (e.effect == cardEffect) && e.usable)
// if (!effect) { return }
// this.useEffect(effect, target)
// }
// },
});