Commit bc6b3a06 authored by chechunchi's avatar chechunchi

update

parent dcd5406e
Pipeline #19682 passed with stages
in 5 minutes and 26 seconds
......@@ -51,6 +51,7 @@ import {
setCheckCardModalV2MinMaxImpl,
setCheckCardModalV2FinishAbleImpl,
resetCheckCardModalV2Impl,
setCheckCardModalV2ResponseAbleImpl,
} from "./modal/mod";
import {
MonsterState,
......@@ -148,6 +149,7 @@ const initialState: DuelState = {
isOpen: false,
cancelAble: false,
finishAble: false,
responseable: false,
selectableOptions: [],
selectedOptions: [],
},
......@@ -236,6 +238,7 @@ const duelSlice = createSlice({
setCheckCardModalV2CancelAble: setCheckCardModalV2CancelAbleImpl,
setCheckCardModalV2IsOpen: setCheckCardModalV2IsOpenImpl,
resetCheckCardModalV2: resetCheckCardModalV2Impl,
setCheckCardModalV2ResponseAble: setCheckCardModalV2ResponseAbleImpl,
},
extraReducers(builder) {
handsCase(builder);
......@@ -309,6 +312,7 @@ export const {
setCheckCardModalV2CancelAble,
setCheckCardModalV2FinishAble,
resetCheckCardModalV2,
setCheckCardModalV2ResponseAble,
} = duelSlice.actions;
export const selectDuelHsStart = (state: RootState) => {
return state.duel.meInitInfo != null;
......
......@@ -41,6 +41,14 @@ export const setCheckCardModalV2FinishAbleImpl: DuelReducer<boolean> = (
state.modalState.checkCardModalV2.finishAble = action.payload;
};
// 更新是否可以回应
export const setCheckCardModalV2ResponseAbleImpl: DuelReducer<boolean> = (
state,
action
) => {
state.modalState.checkCardModalV2.responseable = action.payload;
};
// 增加卡牌选项
export const fetchCheckCardMetasV2 = createAsyncThunk(
"duel/fetchCheckCardMetaV2",
......@@ -100,6 +108,7 @@ export const resetCheckCardModalV2Impl: CaseReducer<DuelState> = (state) => {
modalState.isOpen = false;
modalState.finishAble = false;
modalState.cancelAble = false;
modalState.responseable = false;
modalState.selectableOptions = [];
modalState.selectedOptions = [];
};
......@@ -116,6 +125,8 @@ export const selectCheckCardModalV2CancelAble = (state: RootState) =>
state.duel.modalState.checkCardModalV2.cancelAble;
export const selectCheckCardModalV2FinishAble = (state: RootState) =>
state.duel.modalState.checkCardModalV2.finishAble;
export const selectCheckCardModalV2ResponseAble = (state: RootState) =>
state.duel.modalState.checkCardModalV2.responseable;
export const selectCheckCardModalV2SelectAbleOptions = (state: RootState) =>
state.duel.modalState.checkCardModalV2.selectableOptions;
export const selectCheckCardModalV2SelectedOptions = (state: RootState) =>
......
......@@ -59,6 +59,7 @@ export interface ModalState {
finishAble: boolean;
selectMin?: number;
selectMax?: number;
responseable: boolean;
selectableOptions: {
code: number;
name?: string;
......
......@@ -4,6 +4,7 @@ import {
setCheckCardModalV2FinishAble,
setCheckCardModalV2IsOpen,
setCheckCardModalV2MinMax,
setCheckCardModalV2ResponseAble,
} from "../../reducers/duel/mod";
import { fetchCheckCardMetasV2 } from "../../reducers/duel/modal/checkCardModalV2Slice";
import { AppDispatch } from "../../store";
......@@ -45,4 +46,6 @@ export default (
}),
})
);
dispatch(setCheckCardModalV2ResponseAble(true));
};
......@@ -8,6 +8,7 @@ import {
selectCheckCardModalV2FinishAble,
selectCheckCardModalV2IsOpen,
selectCheckCardModalV2MinMax,
selectCheckCardModalV2ResponseAble,
selectCheckCardModalV2SelectAbleOptions,
selectCheckCardModalV2SelectedOptions,
} from "../../reducers/duel/modal/checkCardModalV2Slice";
......@@ -15,6 +16,7 @@ import { sendSelectUnselectCardResponse } from "../../api/ocgcore/ocgHelper";
import {
resetCheckCardModalV2,
setCheckCardModalV2IsOpen,
setCheckCardModalV2ResponseAble,
} from "../../reducers/duel/mod";
const CheckCardModalV2 = () => {
......@@ -27,16 +29,24 @@ const CheckCardModalV2 = () => {
selectCheckCardModalV2SelectAbleOptions
);
const selectedOptions = useAppSelector(selectCheckCardModalV2SelectedOptions);
const responseable = useAppSelector(selectCheckCardModalV2ResponseAble);
const onFinish = () => {
sendSelectUnselectCardResponse({ cancel_or_finish: true });
dispatch(setCheckCardModalV2IsOpen(false));
dispatch(resetCheckCardModalV2());
if (responseable) {
sendSelectUnselectCardResponse({ cancel_or_finish: true });
dispatch(setCheckCardModalV2IsOpen(false));
dispatch(resetCheckCardModalV2());
dispatch(setCheckCardModalV2ResponseAble(false));
}
};
const onCancel = () => {
sendSelectUnselectCardResponse({ cancel_or_finish: true });
if (responseable) {
sendSelectUnselectCardResponse({ cancel_or_finish: true });
dispatch(setCheckCardModalV2ResponseAble(false));
}
};
return (
<Modal
title={`请选择未选择的卡片,最少${min}张,最多${max}张`}
......@@ -58,8 +68,11 @@ const CheckCardModalV2 = () => {
bordered
size="small"
onChange={(value) => {
// @ts-ignore
sendSelectUnselectCardResponse({ selected_ptr: value });
if (responseable) {
// @ts-ignore
sendSelectUnselectCardResponse({ selected_ptr: value });
dispatch(setCheckCardModalV2ResponseAble(false));
}
}}
>
{selectableOptions.map((option, idx) => {
......
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