Commit b86e3fcf authored by Chunchi Che's avatar Chunchi Che

Merge branch 'feat/confirm_deck_top' into 'main'

Feat/confirm deck top

See merge request !210
parents bf60d17a 6d5c9dc7
Pipeline #21852 passed with stages
in 14 minutes and 43 seconds
neos-protobuf @ e7729f2c
Subproject commit 0993b418f4ae7be10af05ca5360315656bfe2690 Subproject commit e7729f2ca07b8d4704806e37d05f896d5cefafdd
/** /**
* Generated by the protoc-gen-ts. DO NOT EDIT! * Generated by the protoc-gen-ts. DO NOT EDIT!
* compiler version: 3.21.5 * compiler version: 3.19.4
* source: idl/ocgcore.proto * source: idl/ocgcore.proto
* git: https://github.com/thesayyn/protoc-gen-ts */ * git: https://github.com/thesayyn/protoc-gen-ts */
import * as pb_1 from "google-protobuf"; import * as pb_1 from "google-protobuf";
...@@ -5567,7 +5567,7 @@ export namespace ygopro { ...@@ -5567,7 +5567,7 @@ export namespace ygopro {
[ [
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 39, 40, 41, 42, 43, 44, 45,
], ],
]; ];
constructor( constructor(
...@@ -5619,6 +5619,7 @@ export namespace ygopro { ...@@ -5619,6 +5619,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -5665,6 +5666,7 @@ export namespace ygopro { ...@@ -5665,6 +5666,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -5711,6 +5713,7 @@ export namespace ygopro { ...@@ -5711,6 +5713,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -5757,6 +5760,7 @@ export namespace ygopro { ...@@ -5757,6 +5760,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -5803,6 +5807,7 @@ export namespace ygopro { ...@@ -5803,6 +5807,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -5849,6 +5854,7 @@ export namespace ygopro { ...@@ -5849,6 +5854,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -5895,6 +5901,7 @@ export namespace ygopro { ...@@ -5895,6 +5901,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -5941,6 +5948,7 @@ export namespace ygopro { ...@@ -5941,6 +5948,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -5987,6 +5995,7 @@ export namespace ygopro { ...@@ -5987,6 +5995,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6033,6 +6042,7 @@ export namespace ygopro { ...@@ -6033,6 +6042,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6079,6 +6089,7 @@ export namespace ygopro { ...@@ -6079,6 +6089,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6125,6 +6136,7 @@ export namespace ygopro { ...@@ -6125,6 +6136,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6171,6 +6183,7 @@ export namespace ygopro { ...@@ -6171,6 +6183,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6217,6 +6230,7 @@ export namespace ygopro { ...@@ -6217,6 +6230,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6263,6 +6277,7 @@ export namespace ygopro { ...@@ -6263,6 +6277,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6309,6 +6324,7 @@ export namespace ygopro { ...@@ -6309,6 +6324,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6355,6 +6371,7 @@ export namespace ygopro { ...@@ -6355,6 +6371,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6401,6 +6418,7 @@ export namespace ygopro { ...@@ -6401,6 +6418,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6447,6 +6465,7 @@ export namespace ygopro { ...@@ -6447,6 +6465,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6493,6 +6512,7 @@ export namespace ygopro { ...@@ -6493,6 +6512,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6539,6 +6559,7 @@ export namespace ygopro { ...@@ -6539,6 +6559,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6585,6 +6606,7 @@ export namespace ygopro { ...@@ -6585,6 +6606,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6631,6 +6653,7 @@ export namespace ygopro { ...@@ -6631,6 +6653,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6677,6 +6700,7 @@ export namespace ygopro { ...@@ -6677,6 +6700,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6723,6 +6747,7 @@ export namespace ygopro { ...@@ -6723,6 +6747,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6769,6 +6794,7 @@ export namespace ygopro { ...@@ -6769,6 +6794,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6815,6 +6841,7 @@ export namespace ygopro { ...@@ -6815,6 +6841,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6861,6 +6888,7 @@ export namespace ygopro { ...@@ -6861,6 +6888,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6907,6 +6935,7 @@ export namespace ygopro { ...@@ -6907,6 +6935,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6953,6 +6982,7 @@ export namespace ygopro { ...@@ -6953,6 +6982,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -6999,6 +7029,7 @@ export namespace ygopro { ...@@ -6999,6 +7029,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7045,6 +7076,7 @@ export namespace ygopro { ...@@ -7045,6 +7076,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7091,6 +7123,7 @@ export namespace ygopro { ...@@ -7091,6 +7123,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7137,6 +7170,7 @@ export namespace ygopro { ...@@ -7137,6 +7170,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7183,6 +7217,7 @@ export namespace ygopro { ...@@ -7183,6 +7217,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7229,6 +7264,7 @@ export namespace ygopro { ...@@ -7229,6 +7264,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7275,6 +7311,7 @@ export namespace ygopro { ...@@ -7275,6 +7311,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7321,6 +7358,7 @@ export namespace ygopro { ...@@ -7321,6 +7358,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7367,6 +7405,7 @@ export namespace ygopro { ...@@ -7367,6 +7405,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7413,6 +7452,7 @@ export namespace ygopro { ...@@ -7413,6 +7452,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7459,6 +7499,7 @@ export namespace ygopro { ...@@ -7459,6 +7499,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7505,6 +7546,7 @@ export namespace ygopro { ...@@ -7505,6 +7546,7 @@ export namespace ygopro {
chain_end?: StocGameMessage.MsgChainEnd; chain_end?: StocGameMessage.MsgChainEnd;
announce?: never; announce?: never;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7551,6 +7593,7 @@ export namespace ygopro { ...@@ -7551,6 +7593,7 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: StocGameMessage.MsgAnnounce; announce?: StocGameMessage.MsgAnnounce;
lp_update?: never; lp_update?: never;
confirm_desktop?: never;
} }
| { | {
start?: never; start?: never;
...@@ -7597,6 +7640,54 @@ export namespace ygopro { ...@@ -7597,6 +7640,54 @@ export namespace ygopro {
chain_end?: never; chain_end?: never;
announce?: never; announce?: never;
lp_update?: StocGameMessage.MsgLpUpdate; lp_update?: StocGameMessage.MsgLpUpdate;
confirm_desktop?: never;
}
| {
start?: never;
draw?: never;
new_turn?: never;
new_phase?: never;
hint?: never;
select_idle_cmd?: never;
select_place?: never;
move?: never;
select_card?: never;
select_chain?: never;
select_effect_yn?: never;
select_position?: never;
select_option?: never;
shuffle_hand?: never;
select_battle_cmd?: never;
pos_change?: never;
select_unselect_card?: never;
select_yes_no?: never;
update_hp?: never;
win?: never;
wait?: never;
unimplemented?: never;
update_data?: never;
reload_field?: never;
select_sum?: never;
select_tribute?: never;
update_counter?: never;
select_counter?: never;
sort_card?: never;
set?: never;
swap?: never;
summoning?: never;
summoned?: never;
flip_summoning?: never;
flip_summoned?: never;
sp_summoning?: never;
sp_summoned?: never;
chaining?: never;
attack?: never;
attack_disable?: never;
chain_solved?: never;
chain_end?: never;
announce?: never;
lp_update?: never;
confirm_desktop?: StocGameMessage.MsgConfirmDeskTop;
} }
)) ))
) { ) {
...@@ -7748,6 +7839,9 @@ export namespace ygopro { ...@@ -7748,6 +7839,9 @@ export namespace ygopro {
if ("lp_update" in data && data.lp_update != undefined) { if ("lp_update" in data && data.lp_update != undefined) {
this.lp_update = data.lp_update; this.lp_update = data.lp_update;
} }
if ("confirm_desktop" in data && data.confirm_desktop != undefined) {
this.confirm_desktop = data.confirm_desktop;
}
} }
} }
get start() { get start() {
...@@ -8322,6 +8416,19 @@ export namespace ygopro { ...@@ -8322,6 +8416,19 @@ export namespace ygopro {
get has_lp_update() { get has_lp_update() {
return pb_1.Message.getField(this, 44) != null; return pb_1.Message.getField(this, 44) != null;
} }
get confirm_desktop() {
return pb_1.Message.getWrapperField(
this,
StocGameMessage.MsgConfirmDeskTop,
45
) as StocGameMessage.MsgConfirmDeskTop;
}
set confirm_desktop(value: StocGameMessage.MsgConfirmDeskTop) {
pb_1.Message.setOneofWrapperField(this, 45, this.#one_of_decls[0], value);
}
get has_confirm_desktop() {
return pb_1.Message.getField(this, 45) != null;
}
get gameMsg() { get gameMsg() {
const cases: { const cases: {
[index: number]: [index: number]:
...@@ -8369,7 +8476,8 @@ export namespace ygopro { ...@@ -8369,7 +8476,8 @@ export namespace ygopro {
| "chain_solved" | "chain_solved"
| "chain_end" | "chain_end"
| "announce" | "announce"
| "lp_update"; | "lp_update"
| "confirm_desktop";
} = { } = {
0: "none", 0: "none",
1: "start", 1: "start",
...@@ -8416,6 +8524,7 @@ export namespace ygopro { ...@@ -8416,6 +8524,7 @@ export namespace ygopro {
42: "chain_end", 42: "chain_end",
43: "announce", 43: "announce",
44: "lp_update", 44: "lp_update",
45: "confirm_desktop",
}; };
return cases[ return cases[
pb_1.Message.computeOneofCase( pb_1.Message.computeOneofCase(
...@@ -8423,7 +8532,7 @@ export namespace ygopro { ...@@ -8423,7 +8532,7 @@ export namespace ygopro {
[ [
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 37, 38, 39, 40, 41, 42, 43, 44, 45,
] ]
) )
]; ];
...@@ -8543,6 +8652,9 @@ export namespace ygopro { ...@@ -8543,6 +8652,9 @@ export namespace ygopro {
lp_update?: ReturnType< lp_update?: ReturnType<
typeof StocGameMessage.MsgLpUpdate.prototype.toObject typeof StocGameMessage.MsgLpUpdate.prototype.toObject
>; >;
confirm_desktop?: ReturnType<
typeof StocGameMessage.MsgConfirmDeskTop.prototype.toObject
>;
}): StocGameMessage { }): StocGameMessage {
const message = new StocGameMessage({}); const message = new StocGameMessage({});
if (data.start != null) { if (data.start != null) {
...@@ -8745,6 +8857,11 @@ export namespace ygopro { ...@@ -8745,6 +8857,11 @@ export namespace ygopro {
data.lp_update data.lp_update
); );
} }
if (data.confirm_desktop != null) {
message.confirm_desktop = StocGameMessage.MsgConfirmDeskTop.fromObject(
data.confirm_desktop
);
}
return message; return message;
} }
toObject() { toObject() {
...@@ -8865,6 +8982,9 @@ export namespace ygopro { ...@@ -8865,6 +8982,9 @@ export namespace ygopro {
lp_update?: ReturnType< lp_update?: ReturnType<
typeof StocGameMessage.MsgLpUpdate.prototype.toObject typeof StocGameMessage.MsgLpUpdate.prototype.toObject
>; >;
confirm_desktop?: ReturnType<
typeof StocGameMessage.MsgConfirmDeskTop.prototype.toObject
>;
} = {}; } = {};
if (this.start != null) { if (this.start != null) {
data.start = this.start.toObject(); data.start = this.start.toObject();
...@@ -8998,6 +9118,9 @@ export namespace ygopro { ...@@ -8998,6 +9118,9 @@ export namespace ygopro {
if (this.lp_update != null) { if (this.lp_update != null) {
data.lp_update = this.lp_update.toObject(); data.lp_update = this.lp_update.toObject();
} }
if (this.confirm_desktop != null) {
data.confirm_desktop = this.confirm_desktop.toObject();
}
return data; return data;
} }
serialize(): Uint8Array; serialize(): Uint8Array;
...@@ -9164,6 +9287,10 @@ export namespace ygopro { ...@@ -9164,6 +9287,10 @@ export namespace ygopro {
writer.writeMessage(44, this.lp_update, () => writer.writeMessage(44, this.lp_update, () =>
this.lp_update.serialize(writer) this.lp_update.serialize(writer)
); );
if (this.has_confirm_desktop)
writer.writeMessage(45, this.confirm_desktop, () =>
this.confirm_desktop.serialize(writer)
);
if (!w) return writer.getResultBuffer(); if (!w) return writer.getResultBuffer();
} }
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocGameMessage { static deserialize(bytes: Uint8Array | pb_1.BinaryReader): StocGameMessage {
...@@ -9511,6 +9638,14 @@ export namespace ygopro { ...@@ -9511,6 +9638,14 @@ export namespace ygopro {
StocGameMessage.MsgLpUpdate.deserialize(reader)) StocGameMessage.MsgLpUpdate.deserialize(reader))
); );
break; break;
case 45:
reader.readMessage(
message.confirm_desktop,
() =>
(message.confirm_desktop =
StocGameMessage.MsgConfirmDeskTop.deserialize(reader))
);
break;
default: default:
reader.skipField(); reader.skipField();
} }
...@@ -18004,6 +18139,124 @@ export namespace ygopro { ...@@ -18004,6 +18139,124 @@ export namespace ygopro {
return MsgLpUpdate.deserialize(bytes); return MsgLpUpdate.deserialize(bytes);
} }
} }
export class MsgConfirmDeskTop extends pb_1.Message {
#one_of_decls: number[][] = [];
constructor(
data?:
| any[]
| {
player?: number;
cards?: CardInfo[];
}
) {
super();
pb_1.Message.initialize(
this,
Array.isArray(data) ? data : [],
0,
-1,
[2],
this.#one_of_decls
);
if (!Array.isArray(data) && typeof data == "object") {
if ("player" in data && data.player != undefined) {
this.player = data.player;
}
if ("cards" in data && data.cards != undefined) {
this.cards = data.cards;
}
}
}
get player() {
return pb_1.Message.getFieldWithDefault(this, 1, 0) as number;
}
set player(value: number) {
pb_1.Message.setField(this, 1, value);
}
get cards() {
return pb_1.Message.getRepeatedWrapperField(
this,
CardInfo,
2
) as CardInfo[];
}
set cards(value: CardInfo[]) {
pb_1.Message.setRepeatedWrapperField(this, 2, value);
}
static fromObject(data: {
player?: number;
cards?: ReturnType<typeof CardInfo.prototype.toObject>[];
}): MsgConfirmDeskTop {
const message = new MsgConfirmDeskTop({});
if (data.player != null) {
message.player = data.player;
}
if (data.cards != null) {
message.cards = data.cards.map((item) => CardInfo.fromObject(item));
}
return message;
}
toObject() {
const data: {
player?: number;
cards?: ReturnType<typeof CardInfo.prototype.toObject>[];
} = {};
if (this.player != null) {
data.player = this.player;
}
if (this.cards != null) {
data.cards = this.cards.map((item: CardInfo) => item.toObject());
}
return data;
}
serialize(): Uint8Array;
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.cards.length)
writer.writeRepeatedMessage(2, this.cards, (item: CardInfo) =>
item.serialize(writer)
);
if (!w) return writer.getResultBuffer();
}
static deserialize(
bytes: Uint8Array | pb_1.BinaryReader
): MsgConfirmDeskTop {
const reader =
bytes instanceof pb_1.BinaryReader
? bytes
: new pb_1.BinaryReader(bytes),
message = new MsgConfirmDeskTop();
while (reader.nextField()) {
if (reader.isEndGroup()) break;
switch (reader.getFieldNumber()) {
case 1:
message.player = reader.readInt32();
break;
case 2:
reader.readMessage(message.cards, () =>
pb_1.Message.addToRepeatedWrapperField(
message,
2,
CardInfo.deserialize(reader),
CardInfo
)
);
break;
default:
reader.skipField();
}
}
return message;
}
serializeBinary(): Uint8Array {
return this.serialize();
}
static deserializeBinary(bytes: Uint8Array): MsgConfirmDeskTop {
return MsgConfirmDeskTop.deserialize(bytes);
}
}
export class MsgReloadField extends pb_1.Message { export class MsgReloadField extends pb_1.Message {
#one_of_decls: number[][] = []; #one_of_decls: number[][] = [];
constructor( constructor(
......
...@@ -132,5 +132,19 @@ ...@@ -132,5 +132,19 @@
{ "fieldName": "player", "fieldType": "uint8" }, { "fieldName": "player", "fieldType": "uint8" },
{ "fieldName": "new_lp", "fieldType": "uint32" } { "fieldName": "new_lp", "fieldType": "uint32" }
] ]
},
"30": {
"protoType": "confirm_desktop",
"fields": [
{
"fieldName": "player",
"fieldType": "uint8"
},
{
"fieldName": "cards",
"fieldType": "repeated",
"repeatedType": "CardInfo"
}
]
} }
} }
...@@ -33,6 +33,7 @@ const MsgConstructorMap: Map<string, Constructor> = new Map([ ...@@ -33,6 +33,7 @@ const MsgConstructorMap: Map<string, Constructor> = new Map([
["chain_solved", ygopro.StocGameMessage.MsgChainSolved], ["chain_solved", ygopro.StocGameMessage.MsgChainSolved],
["chain_end", ygopro.StocGameMessage.MsgChainEnd], ["chain_end", ygopro.StocGameMessage.MsgChainEnd],
["lp_update", ygopro.StocGameMessage.MsgLpUpdate], ["lp_update", ygopro.StocGameMessage.MsgLpUpdate],
["confirm_desktop", ygopro.StocGameMessage.MsgConfirmDeskTop],
]); ]);
export interface penetrateType { export interface penetrateType {
......
import { fetchCard, ygopro } from "@/api";
import { sleep } from "@/infra";
import { matStore } from "@/stores";
export default async (
confirmDeskTop: ygopro.StocGameMessage.MsgConfirmDeskTop
) => {
const cards = confirmDeskTop.cards;
for (const card of cards) {
const target = matStore
.in(card.location)
.of(card.controler)
.at(card.sequence);
if (target) {
// 设置`occupant`
const meta = await fetchCard(card.code);
target.occupant = meta;
// 设置`position`,否则会横放
target.location.position = ygopro.CardPosition.ATTACK;
// 聚焦1s
target.focus = true;
await sleep(1000);
target.focus = false;
await sleep(200);
} else {
console.warn(`card of ${card} is null`);
}
}
};
...@@ -7,6 +7,7 @@ import onMsgAttackDisable from "./attackDisable"; ...@@ -7,6 +7,7 @@ import onMsgAttackDisable from "./attackDisable";
import onMsgChainEnd from "./chainEnd"; import onMsgChainEnd from "./chainEnd";
import onMsgChaining from "./chaining"; import onMsgChaining from "./chaining";
import onMsgChainSolved from "./chainSolved"; import onMsgChainSolved from "./chainSolved";
import onConfirmDeskTop from "./confirmDeskTop";
import onMsgDraw from "./draw"; import onMsgDraw from "./draw";
import onMsgFilpSummoned from "./flipSummoned"; import onMsgFilpSummoned from "./flipSummoned";
import onMsgFlipSummoning from "./flipSummoning"; import onMsgFlipSummoning from "./flipSummoning";
...@@ -282,6 +283,11 @@ export default async function handleGameMsg(pb: ygopro.YgoStocMsg) { ...@@ -282,6 +283,11 @@ export default async function handleGameMsg(pb: ygopro.YgoStocMsg) {
break; break;
} }
case "confirm_desktop": {
await onConfirmDeskTop(msg.confirm_desktop);
break;
}
case "unimplemented": { case "unimplemented": {
onUnimplemented(msg.unimplemented); onUnimplemented(msg.unimplemented);
......
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