Commit 36777d2f authored by chechunchi's avatar chechunchi

add redux

parent bfe59ab4
Pipeline #17226 failed with stage
in 2 minutes and 8 seconds
......@@ -8,6 +8,7 @@
"name": "neos-ts",
"version": "0.1.0",
"dependencies": {
"@reduxjs/toolkit": "^1.8.6",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.3.0",
"@testing-library/user-event": "^13.5.0",
......@@ -15,10 +16,12 @@
"@types/node": "^16.11.48",
"@types/react": "^18.0.17",
"@types/react-dom": "^18.0.6",
"@types/react-redux": "^7.1.24",
"axios": "^0.27.2",
"google-protobuf": "^3.21.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-redux": "^8.0.4",
"react-router-dom": "^6.4.0",
"react-scripts": "^5.0.1",
"socket.io-client": "^4.5.1",
......@@ -2843,6 +2846,30 @@
}
}
},
"node_modules/@reduxjs/toolkit": {
"version": "1.8.6",
"resolved": "http://bnpm.byted.org/@reduxjs/toolkit/-/toolkit-1.8.6.tgz",
"integrity": "sha512-4Ia/Loc6WLmdSOzi7k5ff7dLK8CgG2b8aqpLsCAJhazAzGdp//YBUSaj0ceW6a3kDBDNRrq5CRwyCS0wBiL1ig==",
"license": "MIT",
"dependencies": {
"immer": "^9.0.7",
"redux": "^4.1.2",
"redux-thunk": "^2.4.1",
"reselect": "^4.1.5"
},
"peerDependencies": {
"react": "^16.9.0 || ^17.0.0 || ^18",
"react-redux": "^7.2.1 || ^8.0.2"
},
"peerDependenciesMeta": {
"react": {
"optional": true
},
"react-redux": {
"optional": true
}
}
},
"node_modules/@remix-run/router": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.2.tgz",
......@@ -3423,6 +3450,16 @@
"@types/node": "*"
}
},
"node_modules/@types/hoist-non-react-statics": {
"version": "3.3.1",
"resolved": "http://bnpm.byted.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
"integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
"license": "MIT",
"dependencies": {
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0"
}
},
"node_modules/@types/html-minifier-terser": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
......@@ -3534,6 +3571,18 @@
"@types/react": "*"
}
},
"node_modules/@types/react-redux": {
"version": "7.1.24",
"resolved": "http://bnpm.byted.org/@types/react-redux/-/react-redux-7.1.24.tgz",
"integrity": "sha512-7FkurKcS1k0FHZEtdbbgN8Oc6b+stGSfZYjQGicofJ0j4U0qIn/jaSvnP2pLwZKiai3/17xqqxkkrxTgN8UNbQ==",
"license": "MIT",
"dependencies": {
"@types/hoist-non-react-statics": "^3.3.0",
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0",
"redux": "^4.0.0"
}
},
"node_modules/@types/resolve": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
......@@ -3604,6 +3653,12 @@
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz",
"integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg=="
},
"node_modules/@types/use-sync-external-store": {
"version": "0.0.3",
"resolved": "http://bnpm.byted.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
"integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==",
"license": "MIT"
},
"node_modules/@types/webxr": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.0.tgz",
......@@ -8267,6 +8322,21 @@
"he": "bin/he"
}
},
"node_modules/hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "http://bnpm.byted.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
"license": "BSD-3-Clause",
"dependencies": {
"react-is": "^16.7.0"
}
},
"node_modules/hoist-non-react-statics/node_modules/react-is": {
"version": "16.13.1",
"resolved": "http://bnpm.byted.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
"license": "MIT"
},
"node_modules/hoopy": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
......@@ -12611,6 +12681,51 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
"node_modules/react-redux": {
"version": "8.0.4",
"resolved": "http://bnpm.byted.org/react-redux/-/react-redux-8.0.4.tgz",
"integrity": "sha512-yMfQ7mX6bWuicz2fids6cR1YT59VTuT8MKyyE310wJQlINKENCeT1UcPdEiX6znI5tF8zXyJ/VYvDgeGuaaNwQ==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.12.1",
"@types/hoist-non-react-statics": "^3.3.1",
"@types/use-sync-external-store": "^0.0.3",
"hoist-non-react-statics": "^3.3.2",
"react-is": "^18.0.0",
"use-sync-external-store": "^1.0.0"
},
"peerDependencies": {
"@types/react": "^16.8 || ^17.0 || ^18.0",
"@types/react-dom": "^16.8 || ^17.0 || ^18.0",
"react": "^16.8 || ^17.0 || ^18.0",
"react-dom": "^16.8 || ^17.0 || ^18.0",
"react-native": ">=0.59",
"redux": "^4"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
},
"@types/react-dom": {
"optional": true
},
"react-dom": {
"optional": true
},
"react-native": {
"optional": true
},
"redux": {
"optional": true
}
}
},
"node_modules/react-redux/node_modules/react-is": {
"version": "18.2.0",
"resolved": "http://bnpm.byted.org/react-is/-/react-is-18.2.0.tgz",
"integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
"license": "MIT"
},
"node_modules/react-refresh": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
......@@ -12809,6 +12924,24 @@
"node": ">=8"
}
},
"node_modules/redux": {
"version": "4.2.0",
"resolved": "http://bnpm.byted.org/redux/-/redux-4.2.0.tgz",
"integrity": "sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.9.2"
}
},
"node_modules/redux-thunk": {
"version": "2.4.1",
"resolved": "http://bnpm.byted.org/redux-thunk/-/redux-thunk-2.4.1.tgz",
"integrity": "sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q==",
"license": "MIT",
"peerDependencies": {
"redux": "^4"
}
},
"node_modules/regenerate": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
......@@ -12951,6 +13084,12 @@
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
},
"node_modules/reselect": {
"version": "4.1.6",
"resolved": "http://bnpm.byted.org/reselect/-/reselect-4.1.6.tgz",
"integrity": "sha512-ZovIuXqto7elwnxyXbBtCPo9YFEr3uJqj2rRbcOOog1bmu2Ag85M4hixSwFWyaBMKXNgvPaJ9OSu9SkBPIeJHQ==",
"license": "MIT"
},
"node_modules/resolve": {
"version": "1.22.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
......@@ -14542,6 +14681,15 @@
"requires-port": "^1.0.0"
}
},
"node_modules/use-sync-external-store": {
"version": "1.2.0",
"resolved": "http://bnpm.byted.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
"license": "MIT",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
......@@ -17409,6 +17557,17 @@
"source-map": "^0.7.3"
}
},
"@reduxjs/toolkit": {
"version": "1.8.6",
"resolved": "http://bnpm.byted.org/@reduxjs/toolkit/-/toolkit-1.8.6.tgz",
"integrity": "sha512-4Ia/Loc6WLmdSOzi7k5ff7dLK8CgG2b8aqpLsCAJhazAzGdp//YBUSaj0ceW6a3kDBDNRrq5CRwyCS0wBiL1ig==",
"requires": {
"immer": "^9.0.7",
"redux": "^4.1.2",
"redux-thunk": "^2.4.1",
"reselect": "^4.1.5"
}
},
"@remix-run/router": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.0.2.tgz",
......@@ -17837,6 +17996,15 @@
"@types/node": "*"
}
},
"@types/hoist-non-react-statics": {
"version": "3.3.1",
"resolved": "http://bnpm.byted.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
"integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
"requires": {
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0"
}
},
"@types/html-minifier-terser": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
......@@ -17948,6 +18116,17 @@
"@types/react": "*"
}
},
"@types/react-redux": {
"version": "7.1.24",
"resolved": "http://bnpm.byted.org/@types/react-redux/-/react-redux-7.1.24.tgz",
"integrity": "sha512-7FkurKcS1k0FHZEtdbbgN8Oc6b+stGSfZYjQGicofJ0j4U0qIn/jaSvnP2pLwZKiai3/17xqqxkkrxTgN8UNbQ==",
"requires": {
"@types/hoist-non-react-statics": "^3.3.0",
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0",
"redux": "^4.0.0"
}
},
"@types/resolve": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
......@@ -18018,6 +18197,11 @@
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz",
"integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg=="
},
"@types/use-sync-external-store": {
"version": "0.0.3",
"resolved": "http://bnpm.byted.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
"integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
},
"@types/webxr": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.0.tgz",
......@@ -21317,6 +21501,21 @@
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
},
"hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "http://bnpm.byted.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
"requires": {
"react-is": "^16.7.0"
},
"dependencies": {
"react-is": {
"version": "16.13.1",
"resolved": "http://bnpm.byted.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
}
}
},
"hoopy": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
......@@ -24302,6 +24501,26 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
"react-redux": {
"version": "8.0.4",
"resolved": "http://bnpm.byted.org/react-redux/-/react-redux-8.0.4.tgz",
"integrity": "sha512-yMfQ7mX6bWuicz2fids6cR1YT59VTuT8MKyyE310wJQlINKENCeT1UcPdEiX6znI5tF8zXyJ/VYvDgeGuaaNwQ==",
"requires": {
"@babel/runtime": "^7.12.1",
"@types/hoist-non-react-statics": "^3.3.1",
"@types/use-sync-external-store": "^0.0.3",
"hoist-non-react-statics": "^3.3.2",
"react-is": "^18.0.0",
"use-sync-external-store": "^1.0.0"
},
"dependencies": {
"react-is": {
"version": "18.2.0",
"resolved": "http://bnpm.byted.org/react-is/-/react-is-18.2.0.tgz",
"integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
}
}
},
"react-refresh": {
"version": "0.14.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
......@@ -24447,6 +24666,20 @@
"strip-indent": "^3.0.0"
}
},
"redux": {
"version": "4.2.0",
"resolved": "http://bnpm.byted.org/redux/-/redux-4.2.0.tgz",
"integrity": "sha512-oSBmcKKIuIR4ME29/AeNUnl5L+hvBq7OaJWzaptTQJAntaPvxIJqfnjbaEiCzzaIz+XmVILfqAM3Ob0aXLPfjA==",
"requires": {
"@babel/runtime": "^7.9.2"
}
},
"redux-thunk": {
"version": "2.4.1",
"resolved": "http://bnpm.byted.org/redux-thunk/-/redux-thunk-2.4.1.tgz",
"integrity": "sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q==",
"requires": {}
},
"regenerate": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
......@@ -24558,6 +24791,11 @@
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
},
"reselect": {
"version": "4.1.6",
"resolved": "http://bnpm.byted.org/reselect/-/reselect-4.1.6.tgz",
"integrity": "sha512-ZovIuXqto7elwnxyXbBtCPo9YFEr3uJqj2rRbcOOog1bmu2Ag85M4hixSwFWyaBMKXNgvPaJ9OSu9SkBPIeJHQ=="
},
"resolve": {
"version": "1.22.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
......@@ -25714,6 +25952,12 @@
"requires-port": "^1.0.0"
}
},
"use-sync-external-store": {
"version": "1.2.0",
"resolved": "http://bnpm.byted.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
"requires": {}
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
import React from "react";
import JoinRoom from "./JoinRoom";
import WaitRoom from "./WaitRoom";
import WaitRoom from "./ui//WaitRoom";
import ThreeJs from "./ThreeJs";
import { Routes, Route } from "react-router-dom";
......
......@@ -7,51 +7,69 @@ import * as pb_1 from "google-protobuf";
export namespace ygopro {
export class YgoCtosMsg extends pb_1.Message {
#one_of_decls: number[][] = [[1, 2, 3, 4, 5, 6]];
constructor(data?: any[] | ({} & (({
constructor(
data?:
| any[]
| ({} & (
| {
ctos_player_info?: CtosPlayerInfo;
ctos_join_game?: never;
ctos_update_deck?: never;
ctos_hs_ready?: never;
ctos_hs_start?: never;
ctos_hs_not_ready?: never;
} | {
}
| {
ctos_player_info?: never;
ctos_join_game?: CtosJoinGame;
ctos_update_deck?: never;
ctos_hs_ready?: never;
ctos_hs_start?: never;
ctos_hs_not_ready?: never;
} | {
}
| {
ctos_player_info?: never;
ctos_join_game?: never;
ctos_update_deck?: CtosUpdateDeck;
ctos_hs_ready?: never;
ctos_hs_start?: never;
ctos_hs_not_ready?: never;
} | {
}
| {
ctos_player_info?: never;
ctos_join_game?: never;
ctos_update_deck?: never;
ctos_hs_ready?: CtosHsReady;
ctos_hs_start?: never;
ctos_hs_not_ready?: never;
} | {
}
| {
ctos_player_info?: never;
ctos_join_game?: never;
ctos_update_deck?: never;
ctos_hs_ready?: never;
ctos_hs_start?: CtosHsStart;
ctos_hs_not_ready?: never;
} | {
}
| {
ctos_player_info?: never;
ctos_join_game?: never;
ctos_update_deck?: never;
ctos_hs_ready?: never;
ctos_hs_start?: never;
ctos_hs_not_ready?: CtosHsNotReady;
})))) {
}
))
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("ctos_player_info" in data && data.ctos_player_info != undefined) {
this.ctos_player_info = data.ctos_player_info;
......@@ -68,13 +86,20 @@ export namespace ygopro {
if ("ctos_hs_start" in data && data.ctos_hs_start != undefined) {
this.ctos_hs_start = data.ctos_hs_start;
}
if ("ctos_hs_not_ready" in data && data.ctos_hs_not_ready != undefined) {
if (
"ctos_hs_not_ready" in data &&
data.ctos_hs_not_ready != undefined
) {
this.ctos_hs_not_ready = data.ctos_hs_not_ready;
}
}
}
get ctos_player_info() {
return pb_1.Message.getWrapperField(this, CtosPlayerInfo, 1) as CtosPlayerInfo;
return pb_1.Message.getWrapperField(
this,
CtosPlayerInfo,
1
) as CtosPlayerInfo;
}
set ctos_player_info(value: CtosPlayerInfo) {
pb_1.Message.setOneofWrapperField(this, 1, this.#one_of_decls[0], value);
......@@ -83,7 +108,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 1) != null;
}
get ctos_join_game() {
return pb_1.Message.getWrapperField(this, CtosJoinGame, 2) as CtosJoinGame;
return pb_1.Message.getWrapperField(
this,
CtosJoinGame,
2
) as CtosJoinGame;
}
set ctos_join_game(value: CtosJoinGame) {
pb_1.Message.setOneofWrapperField(this, 2, this.#one_of_decls[0], value);
......@@ -92,7 +121,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 2) != null;
}
get ctos_update_deck() {
return pb_1.Message.getWrapperField(this, CtosUpdateDeck, 3) as CtosUpdateDeck;
return pb_1.Message.getWrapperField(
this,
CtosUpdateDeck,
3
) as CtosUpdateDeck;
}
set ctos_update_deck(value: CtosUpdateDeck) {
pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);
......@@ -119,7 +152,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 5) != null;
}
get ctos_hs_not_ready() {
return pb_1.Message.getWrapperField(this, CtosHsNotReady, 6) as CtosHsNotReady;
return pb_1.Message.getWrapperField(
this,
CtosHsNotReady,
6
) as CtosHsNotReady;
}
set ctos_hs_not_ready(value: CtosHsNotReady) {
pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);
......@@ -129,7 +166,14 @@ export namespace ygopro {
}
get msg() {
const cases: {
[index: number]: "none" | "ctos_player_info" | "ctos_join_game" | "ctos_update_deck" | "ctos_hs_ready" | "ctos_hs_start" | "ctos_hs_not_ready";
[index: number]:
| "none"
| "ctos_player_info"
| "ctos_join_game"
| "ctos_update_deck"
| "ctos_hs_ready"
| "ctos_hs_start"
| "ctos_hs_not_ready";
} = {
0: "none",
1: "ctos_player_info",
......@@ -137,7 +181,7 @@ export namespace ygopro {
3: "ctos_update_deck",
4: "ctos_hs_ready",
5: "ctos_hs_start",
6: "ctos_hs_not_ready"
6: "ctos_hs_not_ready",
};
return cases[pb_1.Message.computeOneofCase(this, [1, 2, 3, 4, 5, 6])];
}
......@@ -151,13 +195,17 @@ export namespace ygopro {
}): YgoCtosMsg {
const message = new YgoCtosMsg({});
if (data.ctos_player_info != null) {
message.ctos_player_info = CtosPlayerInfo.fromObject(data.ctos_player_info);
message.ctos_player_info = CtosPlayerInfo.fromObject(
data.ctos_player_info
);
}
if (data.ctos_join_game != null) {
message.ctos_join_game = CtosJoinGame.fromObject(data.ctos_join_game);
}
if (data.ctos_update_deck != null) {
message.ctos_update_deck = CtosUpdateDeck.fromObject(data.ctos_update_deck);
message.ctos_update_deck = CtosUpdateDeck.fromObject(
data.ctos_update_deck
);
}
if (data.ctos_hs_ready != null) {
message.ctos_hs_ready = CtosHsReady.fromObject(data.ctos_hs_ready);
......@@ -166,7 +214,9 @@ export namespace ygopro {
message.ctos_hs_start = CtosHsStart.fromObject(data.ctos_hs_start);
}
if (data.ctos_hs_not_ready != null) {
message.ctos_hs_not_ready = CtosHsNotReady.fromObject(data.ctos_hs_not_ready);
message.ctos_hs_not_ready = CtosHsNotReady.fromObject(
data.ctos_hs_not_ready
);
}
return message;
}
......@@ -177,7 +227,9 @@ export namespace ygopro {
ctos_update_deck?: ReturnType<typeof CtosUpdateDeck.prototype.toObject>;
ctos_hs_ready?: ReturnType<typeof CtosHsReady.prototype.toObject>;
ctos_hs_start?: ReturnType<typeof CtosHsStart.prototype.toObject>;
ctos_hs_not_ready?: ReturnType<typeof CtosHsNotReady.prototype.toObject>;
ctos_hs_not_ready?: ReturnType<
typeof CtosHsNotReady.prototype.toObject
>;
} = {};
if (this.ctos_player_info != null) {
data.ctos_player_info = this.ctos_player_info.toObject();
......@@ -204,45 +256,81 @@ export namespace ygopro {
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.has_ctos_player_info)
writer.writeMessage(1, this.ctos_player_info, () => this.ctos_player_info.serialize(writer));
writer.writeMessage(1, this.ctos_player_info, () =>
this.ctos_player_info.serialize(writer)
);
if (this.has_ctos_join_game)
writer.writeMessage(2, this.ctos_join_game, () => this.ctos_join_game.serialize(writer));
writer.writeMessage(2, this.ctos_join_game, () =>
this.ctos_join_game.serialize(writer)
);
if (this.has_ctos_update_deck)
writer.writeMessage(3, this.ctos_update_deck, () => this.ctos_update_deck.serialize(writer));
writer.writeMessage(3, this.ctos_update_deck, () =>
this.ctos_update_deck.serialize(writer)
);
if (this.has_ctos_hs_ready)
writer.writeMessage(4, this.ctos_hs_ready, () => this.ctos_hs_ready.serialize(writer));
writer.writeMessage(4, this.ctos_hs_ready, () =>
this.ctos_hs_ready.serialize(writer)
);
if (this.has_ctos_hs_start)
writer.writeMessage(5, this.ctos_hs_start, () => this.ctos_hs_start.serialize(writer));
writer.writeMessage(5, this.ctos_hs_start, () =>
this.ctos_hs_start.serialize(writer)
);
if (this.has_ctos_hs_not_ready)
writer.writeMessage(6, this.ctos_hs_not_ready, () => this.ctos_hs_not_ready.serialize(writer));
if (!w)
return writer.getResultBuffer();
writer.writeMessage(6, this.ctos_hs_not_ready, () =>
this.ctos_hs_not_ready.serialize(writer)
);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): YgoCtosMsg {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new YgoCtosMsg();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new YgoCtosMsg();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
reader.readMessage(message.ctos_player_info, () => message.ctos_player_info = CtosPlayerInfo.deserialize(reader));
reader.readMessage(
message.ctos_player_info,
() =>
(message.ctos_player_info = CtosPlayerInfo.deserialize(reader))
);
break;
case 2:
reader.readMessage(message.ctos_join_game, () => message.ctos_join_game = CtosJoinGame.deserialize(reader));
reader.readMessage(
message.ctos_join_game,
() => (message.ctos_join_game = CtosJoinGame.deserialize(reader))
);
break;
case 3:
reader.readMessage(message.ctos_update_deck, () => message.ctos_update_deck = CtosUpdateDeck.deserialize(reader));
reader.readMessage(
message.ctos_update_deck,
() =>
(message.ctos_update_deck = CtosUpdateDeck.deserialize(reader))
);
break;
case 4:
reader.readMessage(message.ctos_hs_ready, () => message.ctos_hs_ready = CtosHsReady.deserialize(reader));
reader.readMessage(
message.ctos_hs_ready,
() => (message.ctos_hs_ready = CtosHsReady.deserialize(reader))
);
break;
case 5:
reader.readMessage(message.ctos_hs_start, () => message.ctos_hs_start = CtosHsStart.deserialize(reader));
reader.readMessage(
message.ctos_hs_start,
() => (message.ctos_hs_start = CtosHsStart.deserialize(reader))
);
break;
case 6:
reader.readMessage(message.ctos_hs_not_ready, () => message.ctos_hs_not_ready = CtosHsNotReady.deserialize(reader));
reader.readMessage(
message.ctos_hs_not_ready,
() =>
(message.ctos_hs_not_ready = CtosHsNotReady.deserialize(reader))
);
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -256,51 +344,69 @@ export namespace ygopro {
}
export class YgoStocMsg extends pb_1.Message {
#one_of_decls: number[][] = [[1, 2, 3, 4, 5, 6]];
constructor(data?: any[] | ({} & (({
constructor(
data?:
| any[]
| ({} & (
| {
stoc_join_game?: StocJoinGame;
stoc_chat?: never;
stoc_hs_player_enter?: never;
stoc_type_change?: never;
stoc_hs_player_change?: never;
stoc_hs_watch_change?: never;
} | {
}
| {
stoc_join_game?: never;
stoc_chat?: StocChat;
stoc_hs_player_enter?: never;
stoc_type_change?: never;
stoc_hs_player_change?: never;
stoc_hs_watch_change?: never;
} | {
}
| {
stoc_join_game?: never;
stoc_chat?: never;
stoc_hs_player_enter?: StocHsPlayerEnter;
stoc_type_change?: never;
stoc_hs_player_change?: never;
stoc_hs_watch_change?: never;
} | {
}
| {
stoc_join_game?: never;
stoc_chat?: never;
stoc_hs_player_enter?: never;
stoc_type_change?: StocTypeChange;
stoc_hs_player_change?: never;
stoc_hs_watch_change?: never;
} | {
}
| {
stoc_join_game?: never;
stoc_chat?: never;
stoc_hs_player_enter?: never;
stoc_type_change?: never;
stoc_hs_player_change?: StocHsPlayerChange;
stoc_hs_watch_change?: never;
} | {
}
| {
stoc_join_game?: never;
stoc_chat?: never;
stoc_hs_player_enter?: never;
stoc_type_change?: never;
stoc_hs_player_change?: never;
stoc_hs_watch_change?: StocHsWatchChange;
})))) {
}
))
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("stoc_join_game" in data && data.stoc_join_game != undefined) {
this.stoc_join_game = data.stoc_join_game;
......@@ -308,22 +414,35 @@ export namespace ygopro {
if ("stoc_chat" in data && data.stoc_chat != undefined) {
this.stoc_chat = data.stoc_chat;
}
if ("stoc_hs_player_enter" in data && data.stoc_hs_player_enter != undefined) {
if (
"stoc_hs_player_enter" in data &&
data.stoc_hs_player_enter != undefined
) {
this.stoc_hs_player_enter = data.stoc_hs_player_enter;
}
if ("stoc_type_change" in data && data.stoc_type_change != undefined) {
this.stoc_type_change = data.stoc_type_change;
}
if ("stoc_hs_player_change" in data && data.stoc_hs_player_change != undefined) {
if (
"stoc_hs_player_change" in data &&
data.stoc_hs_player_change != undefined
) {
this.stoc_hs_player_change = data.stoc_hs_player_change;
}
if ("stoc_hs_watch_change" in data && data.stoc_hs_watch_change != undefined) {
if (
"stoc_hs_watch_change" in data &&
data.stoc_hs_watch_change != undefined
) {
this.stoc_hs_watch_change = data.stoc_hs_watch_change;
}
}
}
get stoc_join_game() {
return pb_1.Message.getWrapperField(this, StocJoinGame, 1) as StocJoinGame;
return pb_1.Message.getWrapperField(
this,
StocJoinGame,
1
) as StocJoinGame;
}
set stoc_join_game(value: StocJoinGame) {
pb_1.Message.setOneofWrapperField(this, 1, this.#one_of_decls[0], value);
......@@ -341,7 +460,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 2) != null;
}
get stoc_hs_player_enter() {
return pb_1.Message.getWrapperField(this, StocHsPlayerEnter, 3) as StocHsPlayerEnter;
return pb_1.Message.getWrapperField(
this,
StocHsPlayerEnter,
3
) as StocHsPlayerEnter;
}
set stoc_hs_player_enter(value: StocHsPlayerEnter) {
pb_1.Message.setOneofWrapperField(this, 3, this.#one_of_decls[0], value);
......@@ -350,7 +473,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 3) != null;
}
get stoc_type_change() {
return pb_1.Message.getWrapperField(this, StocTypeChange, 4) as StocTypeChange;
return pb_1.Message.getWrapperField(
this,
StocTypeChange,
4
) as StocTypeChange;
}
set stoc_type_change(value: StocTypeChange) {
pb_1.Message.setOneofWrapperField(this, 4, this.#one_of_decls[0], value);
......@@ -359,7 +486,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 4) != null;
}
get stoc_hs_player_change() {
return pb_1.Message.getWrapperField(this, StocHsPlayerChange, 5) as StocHsPlayerChange;
return pb_1.Message.getWrapperField(
this,
StocHsPlayerChange,
5
) as StocHsPlayerChange;
}
set stoc_hs_player_change(value: StocHsPlayerChange) {
pb_1.Message.setOneofWrapperField(this, 5, this.#one_of_decls[0], value);
......@@ -368,7 +499,11 @@ export namespace ygopro {
return pb_1.Message.getField(this, 5) != null;
}
get stoc_hs_watch_change() {
return pb_1.Message.getWrapperField(this, StocHsWatchChange, 6) as StocHsWatchChange;
return pb_1.Message.getWrapperField(
this,
StocHsWatchChange,
6
) as StocHsWatchChange;
}
set stoc_hs_watch_change(value: StocHsWatchChange) {
pb_1.Message.setOneofWrapperField(this, 6, this.#one_of_decls[0], value);
......@@ -378,7 +513,14 @@ export namespace ygopro {
}
get msg() {
const cases: {
[index: number]: "none" | "stoc_join_game" | "stoc_chat" | "stoc_hs_player_enter" | "stoc_type_change" | "stoc_hs_player_change" | "stoc_hs_watch_change";
[index: number]:
| "none"
| "stoc_join_game"
| "stoc_chat"
| "stoc_hs_player_enter"
| "stoc_type_change"
| "stoc_hs_player_change"
| "stoc_hs_watch_change";
} = {
0: "none",
1: "stoc_join_game",
......@@ -386,17 +528,23 @@ export namespace ygopro {
3: "stoc_hs_player_enter",
4: "stoc_type_change",
5: "stoc_hs_player_change",
6: "stoc_hs_watch_change"
6: "stoc_hs_watch_change",
};
return cases[pb_1.Message.computeOneofCase(this, [1, 2, 3, 4, 5, 6])];
}
static fromObject(data: {
stoc_join_game?: ReturnType<typeof StocJoinGame.prototype.toObject>;
stoc_chat?: ReturnType<typeof StocChat.prototype.toObject>;
stoc_hs_player_enter?: ReturnType<typeof StocHsPlayerEnter.prototype.toObject>;
stoc_hs_player_enter?: ReturnType<
typeof StocHsPlayerEnter.prototype.toObject
>;
stoc_type_change?: ReturnType<typeof StocTypeChange.prototype.toObject>;
stoc_hs_player_change?: ReturnType<typeof StocHsPlayerChange.prototype.toObject>;
stoc_hs_watch_change?: ReturnType<typeof StocHsWatchChange.prototype.toObject>;
stoc_hs_player_change?: ReturnType<
typeof StocHsPlayerChange.prototype.toObject
>;
stoc_hs_watch_change?: ReturnType<
typeof StocHsWatchChange.prototype.toObject
>;
}): YgoStocMsg {
const message = new YgoStocMsg({});
if (data.stoc_join_game != null) {
......@@ -406,16 +554,24 @@ export namespace ygopro {
message.stoc_chat = StocChat.fromObject(data.stoc_chat);
}
if (data.stoc_hs_player_enter != null) {
message.stoc_hs_player_enter = StocHsPlayerEnter.fromObject(data.stoc_hs_player_enter);
message.stoc_hs_player_enter = StocHsPlayerEnter.fromObject(
data.stoc_hs_player_enter
);
}
if (data.stoc_type_change != null) {
message.stoc_type_change = StocTypeChange.fromObject(data.stoc_type_change);
message.stoc_type_change = StocTypeChange.fromObject(
data.stoc_type_change
);
}
if (data.stoc_hs_player_change != null) {
message.stoc_hs_player_change = StocHsPlayerChange.fromObject(data.stoc_hs_player_change);
message.stoc_hs_player_change = StocHsPlayerChange.fromObject(
data.stoc_hs_player_change
);
}
if (data.stoc_hs_watch_change != null) {
message.stoc_hs_watch_change = StocHsWatchChange.fromObject(data.stoc_hs_watch_change);
message.stoc_hs_watch_change = StocHsWatchChange.fromObject(
data.stoc_hs_watch_change
);
}
return message;
}
......@@ -423,10 +579,16 @@ export namespace ygopro {
const data: {
stoc_join_game?: ReturnType<typeof StocJoinGame.prototype.toObject>;
stoc_chat?: ReturnType<typeof StocChat.prototype.toObject>;
stoc_hs_player_enter?: ReturnType<typeof StocHsPlayerEnter.prototype.toObject>;
stoc_hs_player_enter?: ReturnType<
typeof StocHsPlayerEnter.prototype.toObject
>;
stoc_type_change?: ReturnType<typeof StocTypeChange.prototype.toObject>;
stoc_hs_player_change?: ReturnType<typeof StocHsPlayerChange.prototype.toObject>;
stoc_hs_watch_change?: ReturnType<typeof StocHsWatchChange.prototype.toObject>;
stoc_hs_player_change?: ReturnType<
typeof StocHsPlayerChange.prototype.toObject
>;
stoc_hs_watch_change?: ReturnType<
typeof StocHsWatchChange.prototype.toObject
>;
} = {};
if (this.stoc_join_game != null) {
data.stoc_join_game = this.stoc_join_game.toObject();
......@@ -453,45 +615,85 @@ export namespace ygopro {
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.has_stoc_join_game)
writer.writeMessage(1, this.stoc_join_game, () => this.stoc_join_game.serialize(writer));
writer.writeMessage(1, this.stoc_join_game, () =>
this.stoc_join_game.serialize(writer)
);
if (this.has_stoc_chat)
writer.writeMessage(2, this.stoc_chat, () => this.stoc_chat.serialize(writer));
writer.writeMessage(2, this.stoc_chat, () =>
this.stoc_chat.serialize(writer)
);
if (this.has_stoc_hs_player_enter)
writer.writeMessage(3, this.stoc_hs_player_enter, () => this.stoc_hs_player_enter.serialize(writer));
writer.writeMessage(3, this.stoc_hs_player_enter, () =>
this.stoc_hs_player_enter.serialize(writer)
);
if (this.has_stoc_type_change)
writer.writeMessage(4, this.stoc_type_change, () => this.stoc_type_change.serialize(writer));
writer.writeMessage(4, this.stoc_type_change, () =>
this.stoc_type_change.serialize(writer)
);
if (this.has_stoc_hs_player_change)
writer.writeMessage(5, this.stoc_hs_player_change, () => this.stoc_hs_player_change.serialize(writer));
writer.writeMessage(5, this.stoc_hs_player_change, () =>
this.stoc_hs_player_change.serialize(writer)
);
if (this.has_stoc_hs_watch_change)
writer.writeMessage(6, this.stoc_hs_watch_change, () => this.stoc_hs_watch_change.serialize(writer));
if (!w)
return writer.getResultBuffer();
writer.writeMessage(6, this.stoc_hs_watch_change, () =>
this.stoc_hs_watch_change.serialize(writer)
);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): YgoStocMsg {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new YgoStocMsg();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new YgoStocMsg();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
reader.readMessage(message.stoc_join_game, () => message.stoc_join_game = StocJoinGame.deserialize(reader));
reader.readMessage(
message.stoc_join_game,
() => (message.stoc_join_game = StocJoinGame.deserialize(reader))
);
break;
case 2:
reader.readMessage(message.stoc_chat, () => message.stoc_chat = StocChat.deserialize(reader));
reader.readMessage(
message.stoc_chat,
() => (message.stoc_chat = StocChat.deserialize(reader))
);
break;
case 3:
reader.readMessage(message.stoc_hs_player_enter, () => message.stoc_hs_player_enter = StocHsPlayerEnter.deserialize(reader));
reader.readMessage(
message.stoc_hs_player_enter,
() =>
(message.stoc_hs_player_enter =
StocHsPlayerEnter.deserialize(reader))
);
break;
case 4:
reader.readMessage(message.stoc_type_change, () => message.stoc_type_change = StocTypeChange.deserialize(reader));
reader.readMessage(
message.stoc_type_change,
() =>
(message.stoc_type_change = StocTypeChange.deserialize(reader))
);
break;
case 5:
reader.readMessage(message.stoc_hs_player_change, () => message.stoc_hs_player_change = StocHsPlayerChange.deserialize(reader));
reader.readMessage(
message.stoc_hs_player_change,
() =>
(message.stoc_hs_player_change =
StocHsPlayerChange.deserialize(reader))
);
break;
case 6:
reader.readMessage(message.stoc_hs_watch_change, () => message.stoc_hs_watch_change = StocHsWatchChange.deserialize(reader));
reader.readMessage(
message.stoc_hs_watch_change,
() =>
(message.stoc_hs_watch_change =
StocHsWatchChange.deserialize(reader))
);
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -505,11 +707,22 @@ export namespace ygopro {
}
export class CtosPlayerInfo extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
name?: string;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("name" in data && data.name != undefined) {
this.name = data.name;
......@@ -522,9 +735,7 @@ export namespace ygopro {
set name(value: string) {
pb_1.Message.setField(this, 1, value);
}
static fromObject(data: {
name?: string;
}): CtosPlayerInfo {
static fromObject(data: { name?: string }): CtosPlayerInfo {
const message = new CtosPlayerInfo({});
if (data.name != null) {
message.name = data.name;
......@@ -544,21 +755,23 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.name.length)
writer.writeString(1, this.name);
if (!w)
return writer.getResultBuffer();
if (this.name.length) writer.writeString(1, this.name);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CtosPlayerInfo {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CtosPlayerInfo();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new CtosPlayerInfo();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.name = reader.readString();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -572,13 +785,24 @@ export namespace ygopro {
}
export class CtosJoinGame extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
version?: number;
gameid?: number;
passwd?: string;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("version" in data && data.version != undefined) {
this.version = data.version;
......@@ -647,20 +871,19 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.version != 0)
writer.writeInt32(1, this.version);
if (this.gameid != 0)
writer.writeInt32(2, this.gameid);
if (this.passwd.length)
writer.writeString(3, this.passwd);
if (!w)
return writer.getResultBuffer();
if (this.version != 0) writer.writeInt32(1, this.version);
if (this.gameid != 0) writer.writeInt32(2, this.gameid);
if (this.passwd.length) writer.writeString(3, this.passwd);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CtosJoinGame {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CtosJoinGame();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new CtosJoinGame();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.version = reader.readInt32();
......@@ -671,7 +894,8 @@ export namespace ygopro {
case 3:
message.passwd = reader.readString();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -685,13 +909,24 @@ export namespace ygopro {
}
export class CtosUpdateDeck extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
main?: number[];
extra?: number[];
side?: number[];
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1, 2, 3], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[1, 2, 3],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("main" in data && data.main != undefined) {
this.main = data.main;
......@@ -760,20 +995,19 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.main.length)
writer.writePackedInt32(1, this.main);
if (this.extra.length)
writer.writePackedInt32(2, this.extra);
if (this.side.length)
writer.writePackedInt32(3, this.side);
if (!w)
return writer.getResultBuffer();
if (this.main.length) writer.writePackedInt32(1, this.main);
if (this.extra.length) writer.writePackedInt32(2, this.extra);
if (this.side.length) writer.writePackedInt32(3, this.side);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CtosUpdateDeck {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CtosUpdateDeck();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new CtosUpdateDeck();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.main = reader.readPackedInt32();
......@@ -784,7 +1018,8 @@ export namespace ygopro {
case 3:
message.side = reader.readPackedInt32();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -800,8 +1035,16 @@ export namespace ygopro {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {}) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
if (!Array.isArray(data) && typeof data == "object") { }
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
}
}
static fromObject(data: {}): CtosHsReady {
const message = new CtosHsReady({});
......@@ -815,16 +1058,19 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (!w)
return writer.getResultBuffer();
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CtosHsReady {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CtosHsReady();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new CtosHsReady();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -840,8 +1086,16 @@ export namespace ygopro {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {}) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
if (!Array.isArray(data) && typeof data == "object") { }
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
}
}
static fromObject(data: {}): CtosHsNotReady {
const message = new CtosHsNotReady({});
......@@ -855,16 +1109,19 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (!w)
return writer.getResultBuffer();
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CtosHsNotReady {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CtosHsNotReady();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new CtosHsNotReady();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -880,8 +1137,16 @@ export namespace ygopro {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {}) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
if (!Array.isArray(data) && typeof data == "object") { }
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
}
}
static fromObject(data: {}): CtosHsStart {
const message = new CtosHsStart({});
......@@ -895,16 +1160,19 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (!w)
return writer.getResultBuffer();
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): CtosHsStart {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new CtosHsStart();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new CtosHsStart();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -918,7 +1186,10 @@ export namespace ygopro {
}
export class StocJoinGame extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
lflist?: number;
rule?: number;
mode?: number;
......@@ -929,9 +1200,17 @@ export namespace ygopro {
start_hand?: number;
draw_count?: number;
time_limit?: number;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("lflist" in data && data.lflist != undefined) {
this.lflist = data.lflist;
......@@ -1119,34 +1398,27 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.lflist != 0)
writer.writeInt32(1, this.lflist);
if (this.rule != 0)
writer.writeInt32(2, this.rule);
if (this.mode != 0)
writer.writeInt32(3, this.mode);
if (this.duel_rule != 0)
writer.writeInt32(4, this.duel_rule);
if (this.no_check_deck != false)
writer.writeBool(5, this.no_check_deck);
if (this.lflist != 0) writer.writeInt32(1, this.lflist);
if (this.rule != 0) writer.writeInt32(2, this.rule);
if (this.mode != 0) writer.writeInt32(3, this.mode);
if (this.duel_rule != 0) writer.writeInt32(4, this.duel_rule);
if (this.no_check_deck != false) writer.writeBool(5, this.no_check_deck);
if (this.no_shuffle_deck != false)
writer.writeBool(6, this.no_shuffle_deck);
if (this.start_lp != 0)
writer.writeInt32(7, this.start_lp);
if (this.start_hand != 0)
writer.writeInt32(8, this.start_hand);
if (this.draw_count != 0)
writer.writeInt32(9, this.draw_count);
if (this.time_limit != 0)
writer.writeInt32(10, this.time_limit);
if (!w)
return writer.getResultBuffer();
if (this.start_lp != 0) writer.writeInt32(7, this.start_lp);
if (this.start_hand != 0) writer.writeInt32(8, this.start_hand);
if (this.draw_count != 0) writer.writeInt32(9, this.draw_count);
if (this.time_limit != 0) writer.writeInt32(10, this.time_limit);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocJoinGame {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StocJoinGame();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new StocJoinGame();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.lflist = reader.readInt32();
......@@ -1178,7 +1450,8 @@ export namespace ygopro {
case 10:
message.time_limit = reader.readInt32();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -1192,12 +1465,23 @@ export namespace ygopro {
}
export class StocChat extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
player?: number;
msg?: string;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("player" in data && data.player != undefined) {
this.player = data.player;
......@@ -1219,10 +1503,7 @@ export namespace ygopro {
set msg(value: string) {
pb_1.Message.setField(this, 2, value);
}
static fromObject(data: {
player?: number;
msg?: string;
}): StocChat {
static fromObject(data: { player?: number; msg?: string }): StocChat {
const message = new StocChat({});
if (data.player != null) {
message.player = data.player;
......@@ -1249,18 +1530,18 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.player != 0)
writer.writeInt32(1, this.player);
if (this.msg.length)
writer.writeString(2, this.msg);
if (!w)
return writer.getResultBuffer();
if (this.player != 0) writer.writeInt32(1, this.player);
if (this.msg.length) writer.writeString(2, this.msg);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocChat {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StocChat();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new StocChat();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.player = reader.readInt32();
......@@ -1268,7 +1549,8 @@ export namespace ygopro {
case 2:
message.msg = reader.readString();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -1282,12 +1564,23 @@ export namespace ygopro {
}
export class StocHsPlayerEnter extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
name?: string;
pos?: number;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("name" in data && data.name != undefined) {
this.name = data.name;
......@@ -1339,18 +1632,20 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.name.length)
writer.writeString(1, this.name);
if (this.pos != 0)
writer.writeInt32(2, this.pos);
if (!w)
return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocHsPlayerEnter {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StocHsPlayerEnter();
if (this.name.length) writer.writeString(1, this.name);
if (this.pos != 0) writer.writeInt32(2, this.pos);
if (!w) return writer.getResultBuffer();
}
static deserialize(
bytes: Uint8Array | pb_1.BinaryReader
): StocHsPlayerEnter {
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new StocHsPlayerEnter();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.name = reader.readString();
......@@ -1358,7 +1653,8 @@ export namespace ygopro {
case 2:
message.pos = reader.readInt32();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -1372,12 +1668,23 @@ export namespace ygopro {
}
export class StocTypeChange extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
self_type?: StocTypeChange.SelfType;
is_host?: boolean;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("self_type" in data && data.self_type != undefined) {
this.self_type = data.self_type;
......@@ -1388,7 +1695,11 @@ export namespace ygopro {
}
}
get self_type() {
return pb_1.Message.getFieldWithDefault(this, 1, StocTypeChange.SelfType.UNKNOWN) as StocTypeChange.SelfType;
return pb_1.Message.getFieldWithDefault(
this,
1,
StocTypeChange.SelfType.UNKNOWN
) as StocTypeChange.SelfType;
}
set self_type(value: StocTypeChange.SelfType) {
pb_1.Message.setField(this, 1, value);
......@@ -1431,16 +1742,17 @@ export namespace ygopro {
const writer = w || new pb_1.BinaryWriter();
if (this.self_type != StocTypeChange.SelfType.UNKNOWN)
writer.writeEnum(1, this.self_type);
if (this.is_host != false)
writer.writeBool(2, this.is_host);
if (!w)
return writer.getResultBuffer();
if (this.is_host != false) writer.writeBool(2, this.is_host);
if (!w) return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocTypeChange {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StocTypeChange();
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new StocTypeChange();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.self_type = reader.readEnum();
......@@ -1448,7 +1760,8 @@ export namespace ygopro {
case 2:
message.is_host = reader.readBool();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -1469,18 +1782,29 @@ export namespace ygopro {
PLAYER4 = 4,
PLAYER5 = 5,
PLAYER6 = 6,
OBSERVER = 100
OBSERVER = 100,
}
}
export class StocHsPlayerChange extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
state?: StocHsPlayerChange.State;
pos?: number;
moved_pos?: number;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("state" in data && data.state != undefined) {
this.state = data.state;
......@@ -1494,7 +1818,11 @@ export namespace ygopro {
}
}
get state() {
return pb_1.Message.getFieldWithDefault(this, 1, StocHsPlayerChange.State.UNKNOWN) as StocHsPlayerChange.State;
return pb_1.Message.getFieldWithDefault(
this,
1,
StocHsPlayerChange.State.UNKNOWN
) as StocHsPlayerChange.State;
}
set state(value: StocHsPlayerChange.State) {
pb_1.Message.setField(this, 1, value);
......@@ -1551,18 +1879,20 @@ export namespace ygopro {
const writer = w || new pb_1.BinaryWriter();
if (this.state != StocHsPlayerChange.State.UNKNOWN)
writer.writeEnum(1, this.state);
if (this.pos != 0)
writer.writeInt32(2, this.pos);
if (this.moved_pos != 0)
writer.writeInt32(3, this.moved_pos);
if (!w)
return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocHsPlayerChange {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StocHsPlayerChange();
if (this.pos != 0) writer.writeInt32(2, this.pos);
if (this.moved_pos != 0) writer.writeInt32(3, this.moved_pos);
if (!w) return writer.getResultBuffer();
}
static deserialize(
bytes: Uint8Array | pb_1.BinaryReader
): StocHsPlayerChange {
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new StocHsPlayerChange();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.state = reader.readEnum();
......@@ -1573,7 +1903,8 @@ export namespace ygopro {
case 3:
message.moved_pos = reader.readInt32();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......@@ -1592,16 +1923,27 @@ export namespace ygopro {
READY = 2,
NO_READY = 3,
LEAVE = 4,
TO_OBSERVER = 5
TO_OBSERVER = 5,
}
}
export class StocHsWatchChange extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(data?: any[] | {
constructor(
data?:
| any[]
| {
count?: number;
}) {
}
) {
super();
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("count" in data && data.count != undefined) {
this.count = data.count;
......@@ -1614,9 +1956,7 @@ export namespace ygopro {
set count(value: number) {
pb_1.Message.setField(this, 1, value);
}
static fromObject(data: {
count?: number;
}): StocHsWatchChange {
static fromObject(data: { count?: number }): StocHsWatchChange {
const message = new StocHsWatchChange({});
if (data.count != null) {
message.count = data.count;
......@@ -1636,21 +1976,25 @@ export namespace ygopro {
serialize(w: pb_1.BinaryWriter): void;
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
const writer = w || new pb_1.BinaryWriter();
if (this.count != 0)
writer.writeInt32(1, this.count);
if (!w)
return writer.getResultBuffer();
}
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocHsWatchChange {
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new StocHsWatchChange();
if (this.count != 0) writer.writeInt32(1, this.count);
if (!w) return writer.getResultBuffer();
}
static deserialize(
bytes: Uint8Array | pb_1.BinaryReader
): StocHsWatchChange {
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new StocHsWatchChange();
while (reader.nextField()) {
if (reader.isEndGroup())
break;
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.count = reader.readInt32();
break;
default: reader.skipField();
default:
reader.skipField();
}
}
return message;
......
......@@ -3,6 +3,8 @@ import ReactDOM from "react-dom/client";
import App from "./App";
import reportWebVitals from "./reportWebVitals";
import { BrowserRouter } from "react-router-dom";
import { Provider } from "react-redux";
import { store } from "./store";
const root = ReactDOM.createRoot(
document.getElementById("root") as HTMLElement
......@@ -10,7 +12,9 @@ const root = ReactDOM.createRoot(
root.render(
<React.StrictMode>
<BrowserRouter>
<Provider store={store}>
<App />
</Provider>
</BrowserRouter>
</React.StrictMode>
);
......
import { createSlice } from "@reduxjs/toolkit";
const initialState = false;
const joinedSlice = createSlice({
name: "join",
initialState,
reducers: {
setJoined(state) {
state = true;
},
setUnJoined(state) {
state = false;
},
},
});
export const { setJoined, setUnJoined } = joinedSlice.actions;
export default joinedSlice.reducer;
import { configureStore } from "@reduxjs/toolkit";
import joinedReducer from "./reducers/joinSlice";
export const store = configureStore({
reducer: {
join: joinedReducer,
},
});
export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;
import React, { useRef, useEffect, useState, useReducer } from "react";
import { useParams } from "react-router-dom";
import { ygopro } from "./api/idl/ocgcore";
import { fetchDeck, IDeck } from "./Card";
import "./css/WaitRoom.css";
import { ygopro } from "../api/idl/ocgcore";
import { fetchDeck, IDeck } from "../Card";
import "../css/WaitRoom.css";
import { useDispatch, useSelector } from "react-redux";
import { setJoined } from "../reducers/joinSlice";
type Player = {
name?: string;
......@@ -20,17 +22,18 @@ export default function WaitRoom() {
ip?: string;
}>();
const [joined, setJoined] = useState<boolean>(false);
const [chat, setChat] = useState<string>("");
const [choseDeck, setChoseDeck] = useState<boolean>(false);
const [observerCount, setObserverCount] = useState<number>(0);
const [player0, setPlayer0] = useState<Player>({});
const [player1, setPlayer1] = useState<Player>({});
const [isHost, setIsHost] = useState<boolean>(false);
const [_, forceUpdate] = useReducer(x => x + 1, 0); // todo: use correct update design
const [_, forceUpdate] = useReducer((x) => x + 1, 0); // todo: use correct update design
const ws = useRef<WebSocket | null>(null);
const dispatch = useDispatch();
const { player, passWd, ip } = params;
useEffect(() => {
......@@ -61,14 +64,15 @@ export default function WaitRoom() {
console.log("Websocket closed");
};
ws.current.onmessage = e => {
ws.current.onmessage = (e) => {
const pb = ygopro.YgoStocMsg.deserializeBinary(e.data);
switch (pb.msg) {
case "stoc_join_game": {
const msg = pb.stoc_join_game;
// todo
setJoined(true);
dispatch(setJoined());
break;
}
case "stoc_chat": {
......@@ -225,6 +229,8 @@ export default function WaitRoom() {
};
}, [ws]);
const joined = useSelector((state) => state);
const handleChoseDeck = async () => {
if (ws.current) {
const deck = await fetchDeck("hero.ydk");
......@@ -298,8 +304,8 @@ export default function WaitRoom() {
function sendPlayerInfo(ws: WebSocket, player: string) {
const playerInfo = new ygopro.YgoCtosMsg({
ctos_player_info: new ygopro.CtosPlayerInfo({
name: player
})
name: player,
}),
});
ws.send(playerInfo.serialize());
......@@ -310,8 +316,8 @@ function sendJoinGame(ws: WebSocket, version: number, passWd: string) {
ctos_join_game: new ygopro.CtosJoinGame({
version, // todo: use config
gameid: 0,
passwd: passWd
})
passwd: passWd,
}),
});
ws.send(joinGame.serialize());
......@@ -322,8 +328,8 @@ function sendUpdateDeck(ws: WebSocket, deck: IDeck) {
ctos_update_deck: new ygopro.CtosUpdateDeck({
main: deck.main,
extra: deck.extra,
side: deck.side
})
side: deck.side,
}),
});
ws.send(updateDeck.serialize());
......@@ -331,7 +337,7 @@ function sendUpdateDeck(ws: WebSocket, deck: IDeck) {
function sendHsReady(ws: WebSocket) {
const hasReady = new ygopro.YgoCtosMsg({
ctos_hs_ready: new ygopro.CtosHsReady({})
ctos_hs_ready: new ygopro.CtosHsReady({}),
});
ws.send(hasReady.serialize());
......@@ -339,7 +345,7 @@ function sendHsReady(ws: WebSocket) {
function sendHsStart(ws: WebSocket) {
const hasStart = new ygopro.YgoCtosMsg({
ctos_hs_start: new ygopro.CtosHsStart({})
ctos_hs_start: new ygopro.CtosHsStart({}),
});
ws.send(hasStart.serialize());
......
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