Commit f1209937 authored by Chunchi Che's avatar Chunchi Che

fix pos_change service

parent 4099523c
Pipeline #22062 failed with stages
in 8 minutes and 56 seconds
...@@ -151,12 +151,12 @@ async function _handleGameMsg(pb: ygopro.YgoStocMsg) { ...@@ -151,12 +151,12 @@ async function _handleGameMsg(pb: ygopro.YgoStocMsg) {
break; break;
} }
case "pos_change": { case "pos_change": {
onMsgPosChange(msg.pos_change); await onMsgPosChange(msg.pos_change);
break; break;
} }
case "select_unselect_card": { case "select_unselect_card": {
onMsgSelectUnselectCard(msg.select_unselect_card); await onMsgSelectUnselectCard(msg.select_unselect_card);
break; break;
} }
......
import { ygopro } from "@/api"; import { ygopro } from "@/api";
import MsgPosChange = ygopro.StocGameMessage.MsgPosChange; import MsgPosChange = ygopro.StocGameMessage.MsgPosChange;
import { eventbus, Task } from "@/infra";
import { cardStore, fetchEsHintMeta } from "@/stores"; import { cardStore, fetchEsHintMeta } from "@/stores";
export default (posChange: MsgPosChange) => { export default async (posChange: MsgPosChange) => {
const { location, controler, sequence } = posChange.card_info; const { location, controler, sequence } = posChange.card_info;
const target = cardStore.at(location, controler, sequence); const target = cardStore.at(location, controler, sequence);
if (target) { if (target) {
target.position = posChange.cur_position; target.position = posChange.cur_position;
// TODO: 暂时用`Move`动画,后续可以单独实现一个改变表示形式的动画
await eventbus.call(Task.Move, target.uuid);
} else { } else {
console.warn(`<PosChange>target from ${posChange.card_info} is null`); console.warn(`<PosChange>target from ${posChange.card_info} is null`);
} }
......
...@@ -3,7 +3,7 @@ import { fetchCheckCardMeta, messageStore } from "@/stores"; ...@@ -3,7 +3,7 @@ import { fetchCheckCardMeta, messageStore } from "@/stores";
type MsgSelectUnselectCard = ygopro.StocGameMessage.MsgSelectUnselectCard; type MsgSelectUnselectCard = ygopro.StocGameMessage.MsgSelectUnselectCard;
export default ({ export default async ({
finishable, finishable,
cancelable, cancelable,
min, min,
...@@ -16,14 +16,15 @@ export default ({ ...@@ -16,14 +16,15 @@ export default ({
messageStore.selectCardActions.min = min; messageStore.selectCardActions.min = min;
messageStore.selectCardActions.max = max; messageStore.selectCardActions.max = max;
messageStore.selectCardActions.single = true; messageStore.selectCardActions.single = true;
messageStore.selectCardActions.isValid = true;
messageStore.selectCardActions.isOpen = true;
for (const option of selectableCards) { for (const option of selectableCards) {
fetchCheckCardMeta(option); await fetchCheckCardMeta(option);
} }
for (const option of selectedCards) { for (const option of selectedCards) {
fetchCheckCardMeta(option, true); await fetchCheckCardMeta(option, true);
} }
messageStore.selectCardActions.isValid = true;
messageStore.selectCardActions.isOpen = true;
}; };
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