Commit af8ec236 authored by Chunchi Che's avatar Chunchi Che

add selectCardResponse adapter and helper

parent 7561ebdb
......@@ -3,6 +3,7 @@ import { YgoProPacket } from "../../packet";
import { CTOS_RESPONSE } from "../../protoDecl";
import adaptSelectIdleCmdResponse from "./selectIdleCmd";
import adaptSelectPlaceResponse from "./selectPlace";
import adaptSelectCardResponse from "./selectCard";
/*
* CTOS CTOS_RESPONSE
......@@ -28,6 +29,11 @@ export default class CtosResponsePacket extends YgoProPacket {
break;
}
case "select_card": {
extraData = adaptSelectCardResponse(response.select_card);
break;
}
default: {
break;
}
......
import { ygopro } from "../../../idl/ocgcore";
import { BufferWriter } from "../../bufferIO";
export default (response: ygopro.CtosGameMsgResponse.SelectCardResponse) => {
const array = new Uint8Array(1 + response.selected_ptrs.length);
const writer = new BufferWriter(array, true);
writer.writeUint8(response.selected_ptrs.length);
for (const ptr of response.selected_ptrs) {
writer.writeUint8(ptr);
}
return array;
};
......@@ -150,3 +150,16 @@ export function sendSelectPlaceResponse(value: {
socketMiddleWare({ cmd: socketCmd.SEND, payload });
}
export function sendSelectCardResponse(value: number[]) {
const response = new ygopro.YgoCtosMsg({
ctos_response: new ygopro.CtosGameMsgResponse({
select_card: new ygopro.CtosGameMsgResponse.SelectCardResponse({
selected_ptrs: value,
}),
}),
});
const payload = new GameMsgResponse(response).serialize();
socketMiddleWare({ cmd: socketCmd.SEND, payload });
}
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