Commit ea0e5cfc authored by Chunchi Che's avatar Chunchi Che

Merge branch 'feat/service/become_target' into 'main'

Feat/service/become target

See merge request !222
parents d7bd1852 8613b7ec
neos-protobuf @ e6e23561
Subproject commit b38ac93eef4ec235d1be4cfb689754a0e360e2ab Subproject commit e6e23561a0f8e515a0168d87d72c281b7b9cca17
This diff is collapsed.
...@@ -225,5 +225,15 @@ ...@@ -225,5 +225,15 @@
"repeatedType":"CardInfo" "repeatedType":"CardInfo"
} }
] ]
},
"83":{
"protoType":"become_target",
"fields":[
{
"fieldName":"locations",
"fieldType":"repeated",
"repeatedType":"CardLocation"
}
]
} }
} }
...@@ -34,6 +34,7 @@ const MsgConstructorMap: Map<string, Constructor> = new Map([ ...@@ -34,6 +34,7 @@ const MsgConstructorMap: Map<string, Constructor> = new Map([
["chain_end", ygopro.StocGameMessage.MsgChainEnd], ["chain_end", ygopro.StocGameMessage.MsgChainEnd],
["lp_update", ygopro.StocGameMessage.MsgLpUpdate], ["lp_update", ygopro.StocGameMessage.MsgLpUpdate],
["confirm_cards", ygopro.StocGameMessage.MsgConfirmCards], ["confirm_cards", ygopro.StocGameMessage.MsgConfirmCards],
["become_target", ygopro.StocGameMessage.MsgBecomeTarget],
]); ]);
export interface penetrateType { export interface penetrateType {
......
import { ygopro } from "@/api";
import { cardStore } from "@/stores";
export default (becomeTarget: ygopro.StocGameMessage.MsgBecomeTarget) => {
for (const location of becomeTarget.locations) {
const target = cardStore.at(
location.zone,
location.controller,
location.sequence
);
if (target) {
console.info(`${target.meta.text.name} become target`);
// TODO: 动画
} else {
console.warn(`<BecomeTarget>target from ${location} is null`);
}
}
};
...@@ -5,6 +5,7 @@ import { matStore } from "@/stores"; ...@@ -5,6 +5,7 @@ import { matStore } from "@/stores";
import onAnnounce from "./announce"; import onAnnounce from "./announce";
import onMsgAttack from "./attack"; import onMsgAttack from "./attack";
import onMsgAttackDisable from "./attackDisable"; import onMsgAttackDisable from "./attackDisable";
import onMsgBecomeTarget from "./becomeTarget";
import onMsgChainEnd from "./chainEnd"; import onMsgChainEnd from "./chainEnd";
import onMsgChaining from "./chaining"; import onMsgChaining from "./chaining";
import onMsgChainSolved from "./chainSolved"; import onMsgChainSolved from "./chainSolved";
...@@ -297,6 +298,11 @@ async function _handleGameMsg(pb: ygopro.YgoStocMsg) { ...@@ -297,6 +298,11 @@ async function _handleGameMsg(pb: ygopro.YgoStocMsg) {
break; break;
} }
case "become_target": {
onMsgBecomeTarget(msg.become_target);
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