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