Commit 9d3aa237 authored by Chunchi Che's avatar Chunchi Che Committed by WANG HE

add StocTypeChange adapt

parent 1b7e9441
......@@ -8,3 +8,4 @@ export const STOC_CHAT = 25;
export const STOC_HS_PLAYER_ENTER = 32;
export const STOC_HS_PLAYER_CHANGE = 33;
export const STOC_HS_WATCH_CHANGE = 34;
export const STOC_TYPE_CHANGE = 19;
import { ygopro } from "../../idl/ocgcore";
import { ygoProPacket, ygoProtobuf } from "../packet";
export default class StocTypeChange implements ygoProtobuf {
packet: ygoProPacket;
constructor(packet: ygoProPacket) {
this.packet = packet;
}
adapt(): ygopro.YgoStocMsg {
const type_ = new DataView(this.packet.exData.buffer).getUint8(0);
const isHost = ((type_ >> 4) & 0xf) != 0;
let selfType = ygopro.StocTypeChange.SelfType.UNKNOWN;
switch (type_ & 0xf) {
case 0: {
selfType = ygopro.StocTypeChange.SelfType.PLAYER1;
break;
}
case 1: {
selfType = ygopro.StocTypeChange.SelfType.PLAYER2;
break;
}
case 2: {
selfType = ygopro.StocTypeChange.SelfType.PLAYER3;
break;
}
case 3: {
selfType = ygopro.StocTypeChange.SelfType.PLAYER4;
break;
}
case 4: {
selfType = ygopro.StocTypeChange.SelfType.PLAYER5;
break;
}
case 5: {
selfType = ygopro.StocTypeChange.SelfType.PLAYER6;
break;
}
}
return new ygopro.YgoStocMsg({
stoc_type_change: new ygopro.StocTypeChange({
self_type: selfType,
is_host: isHost,
}),
});
}
}
......@@ -13,11 +13,13 @@ import {
STOC_HS_PLAYER_ENTER,
STOC_HS_WATCH_CHANGE,
STOC_JOIN_GAME,
STOC_TYPE_CHANGE,
} from "../api/ocgcore/ocgAdapter/protoDecl";
import StocChat from "../api/ocgcore/ocgAdapter/stoc/stocChat";
import StocHsPlayerEnter from "../api/ocgcore/ocgAdapter/stoc/stocHsPlayerEnter";
import StocHsPlayerChange from "../api/ocgcore/ocgAdapter/stoc/stocHsPlayerChange";
import StocHsWatchChange from "../api/ocgcore/ocgAdapter/stoc/stocHsWatchChange";
import StocTypeChange from "../api/ocgcore/ocgAdapter/stoc/stocTypeChange";
export default function handleSocketMessage(e: MessageEvent) {
const packet = new ygoArrayBuilder(e.data);
......@@ -50,6 +52,11 @@ export default function handleSocketMessage(e: MessageEvent) {
break;
}
case STOC_TYPE_CHANGE: {
pb = new StocTypeChange(packet).adapt();
break;
}
default: {
break;
}
......
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