Commit 2297be27 authored by chechunchi's avatar chechunchi

update idleCmd service

parent c59e11f2
...@@ -14,62 +14,69 @@ export default (selectIdleCmd: MsgSelectIdleCmd, dispatch: AppDispatch) => { ...@@ -14,62 +14,69 @@ export default (selectIdleCmd: MsgSelectIdleCmd, dispatch: AppDispatch) => {
// 先清掉之前的手牌互动性 // 先清掉之前的手牌互动性
dispatch(clearHandsIdleInteractivity(player)); dispatch(clearHandsIdleInteractivity(player));
for (let cmd of cmds) { cmds.forEach((cmd) => {
let interactType; const interactType = idleTypeToInteractType(cmd.idle_type);
switch (cmd.idle_type) {
case MsgSelectIdleCmd.IdleCmd.IdleType.SUMMON: {
interactType = InteractType.SUMMON;
break;
}
case MsgSelectIdleCmd.IdleCmd.IdleType.SPSUMMON: {
interactType = InteractType.SP_SUMMON;
break;
}
case MsgSelectIdleCmd.IdleCmd.IdleType.POS_CHANGE: {
interactType = InteractType.POS_CHANGE;
break;
}
case MsgSelectIdleCmd.IdleCmd.IdleType.MSET: {
interactType = InteractType.MSET;
break;
}
case MsgSelectIdleCmd.IdleCmd.IdleType.SSET: {
interactType = InteractType.SSET;
break;
}
case MsgSelectIdleCmd.IdleCmd.IdleType.ACTIVATE: {
interactType = InteractType.ACTIVATE;
break;
}
}
for (let data of cmd.idle_datas) { cmd.idle_datas.forEach((data) => {
const card_info = data.card_info; const cardInfo = data.card_info;
if (card_info.location === 2) { switch (cardInfo.location) {
// 目前只处理手牌场景 case ygopro.CardZone.HAND: {
if (interactType === InteractType.ACTIVATE) { if (interactType === InteractType.ACTIVATE) {
// 发动效果会多一个字段 // 发动效果会多一个字段
dispatch( dispatch(
addHandsIdleInteractivity({ addHandsIdleInteractivity({
player, player,
sequence: card_info.sequence, sequence: cardInfo.sequence,
interactivity: { interactivity: {
interactType, interactType,
activateIndex: data.effect_description, activateIndex: data.effect_description,
response: data.response, response: data.response,
}, },
}) })
); );
} else if (interactType) { } else if (interactType) {
dispatch( dispatch(
addHandsIdleInteractivity({ addHandsIdleInteractivity({
player, player,
sequence: card_info.sequence, sequence: cardInfo.sequence,
interactivity: { interactType, response: data.response }, interactivity: { interactType, response: data.response },
}) })
); );
}
break;
}
default: {
} }
} }
});
});
};
function idleTypeToInteractType(
idleType: MsgSelectIdleCmd.IdleCmd.IdleType
): InteractType | undefined {
switch (idleType) {
case MsgSelectIdleCmd.IdleCmd.IdleType.SUMMON: {
return InteractType.SUMMON;
}
case MsgSelectIdleCmd.IdleCmd.IdleType.SPSUMMON: {
return InteractType.SP_SUMMON;
}
case MsgSelectIdleCmd.IdleCmd.IdleType.POS_CHANGE: {
return InteractType.POS_CHANGE;
}
case MsgSelectIdleCmd.IdleCmd.IdleType.MSET: {
return InteractType.MSET;
}
case MsgSelectIdleCmd.IdleCmd.IdleType.SSET: {
return InteractType.SSET;
}
case MsgSelectIdleCmd.IdleCmd.IdleType.ACTIVATE: {
return InteractType.ACTIVATE;
}
default: {
return undefined;
} }
} }
}; }
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