Commit 49aa13b5 authored by Chunchi Che's avatar Chunchi Che

add toss adapter and service

parent 343776ec
......@@ -61,3 +61,5 @@ export const MSG_ANNOUNCE_RACE = 140;
export const MSG_ANNOUNCE_ATTRIB = 141;
export const MSG_ANNOUNCE_CARD = 142;
export const MSG_ANNOUNCE_NUMBER = 143;
export const MSG_TOSS_COIN = 130;
export const MSG_TOSS_DICE = 131;
......@@ -35,6 +35,7 @@ import MsgSelectTributeAdapter from "./selectTribute";
import MsgSelectUnselectCardAdapter from "./selectUnselectCard";
import MsgSortCard from "./sortCard";
import MsgStartAdapter from "./start";
import MsgTossAdapter from "./toss";
import MsgUpdateDataAdapter from "./updateData";
import MsgWaitAdapter from "./wait";
import MsgWin from "./win";
......@@ -220,6 +221,22 @@ export default class GameMsgAdapter implements StocAdapter {
break;
}
case GAME_MSG.MSG_TOSS_COIN: {
gameMsg.toss = MsgTossAdapter(
gameData,
ygopro.StocGameMessage.MsgToss.TossType.COIN
);
break;
}
case GAME_MSG.MSG_TOSS_DICE: {
gameMsg.toss = MsgTossAdapter(
gameData,
ygopro.StocGameMessage.MsgToss.TossType.DICE
);
break;
}
default: {
gameMsg.unimplemented = new ygopro.StocGameMessage.MsgUnimplemented({
command: func,
......
import { BufferReader } from "../../../../../../rust-src/pkg/rust_src";
import { ygopro } from "../../../idl/ocgcore";
import MsgToss = ygopro.StocGameMessage.MsgToss;
/*
* Msg Toss
* @param - TODO
*
* @usage 骰子/硬币结果
* */
export default (data: Uint8Array, toss_type: MsgToss.TossType) => {
const reader = new BufferReader(data);
const player = reader.readUint8();
const count = reader.readUint8();
const res = [];
for (let i = 0; i < count; i++) {
res.push(reader.readUint8());
}
return new MsgToss({
player,
toss_type,
res,
});
};
......@@ -42,6 +42,7 @@ import onMsgStart from "./start";
import onMsgSummoned from "./summoned";
import onMsgSummoning from "./summoning";
import onMsgSwap from "./swap";
import onMsgToss from "./toss";
import onUnimplemented from "./unimplemented";
import onMsgUpdateCounter from "./updateCounter";
import onMsgUpdateData from "./updateData";
......@@ -303,6 +304,11 @@ async function _handleGameMsg(pb: ygopro.YgoStocMsg) {
break;
}
case "toss": {
onMsgToss(msg.toss);
break;
}
case "unimplemented": {
onUnimplemented(msg.unimplemented);
......
import { ygopro } from "@/api";
import MsgToss = ygopro.StocGameMessage.MsgToss;
export default (toss: MsgToss) => {
console.log(toss);
};
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