Commit 31f9205a authored by Chunchi Che's avatar Chunchi Che

add sideStore

parent aafb9b87
Pipeline #23180 passed with stages
in 10 minutes and 28 seconds
import { ygopro } from "@/api";
import { sideStore } from "@/stores";
export function handleChangeSide(_: ygopro.StocChangeSide) {
console.log("on StocChangeSide");
sideStore.siding = true;
}
import { ygopro } from "@/api";
import { sideStore } from "@/stores";
export function handleWaitingSide(_: ygopro.StocWaitingSide) {
console.log("on StocWaitingSide");
sideStore.waiting = true;
}
......@@ -7,6 +7,7 @@ export * from "./matStore";
export * from "./placeStore";
export * from "./replayStore";
export * from "./roomStore";
export * from "./sideStore";
import { devtools } from "valtio/utils";
......@@ -21,6 +22,7 @@ import { matStore } from "./matStore";
import { placeStore } from "./placeStore";
import { replayStore } from "./replayStore";
import { roomStore } from "./roomStore";
import { sideStore } from "./sideStore";
const { DEV } = useEnv();
......@@ -33,6 +35,7 @@ devtools(accountStore, { name: "account", enabled: DEV });
devtools(roomStore, { name: "room", enabled: DEV });
devtools(deckStore, { name: "deck", enabled: DEV });
devtools(initStore, { name: "init", enabled: DEV });
devtools(sideStore, { name: "side", enabled: DEV });
// 重置`Store`
export const resetUniverse = () => {
......
import { proxy } from "valtio";
import { IDeck } from "./deckStore";
import { type NeosStore } from "./shared";
class SideStore implements NeosStore {
siding: boolean = false;
ready: boolean = false;
waiting: boolean = false; // 观战的时候等待双方更换副卡组
deck?: IDeck;
reset(): void {
this.siding = false;
this.ready = false;
this.deck = undefined;
}
}
export const sideStore = proxy(new SideStore());
......@@ -29,6 +29,7 @@ import {
resetUniverse,
RoomStage,
roomStore,
sideStore,
} from "@/stores";
import { Background, IconFont, Select, SpecialButton } from "@/ui/Shared";
......@@ -75,7 +76,6 @@ export const Component: React.FC = () => {
<Controller
onDeckChange={(deckName: string) => {
const deck = deckStore.get(deckName);
// 同步后端
if (deck) {
setDeck(deck);
} else {
......@@ -96,6 +96,9 @@ export const Component: React.FC = () => {
onClick={() => {
if (me?.state === PlayerState.NO_READY) {
sendUpdateDeck(deck);
// 设置side里面的卡组
sideStore.deck = deck;
// 设置额外卡组数据
window.myExtraDeckCodes = [...deck.extra];
sendHsReady();
} else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment