Commit ae5340e6 authored by chechunchi's avatar chechunchi

add positionModal slice

parent c1aaa726
...@@ -34,6 +34,9 @@ import { ...@@ -34,6 +34,9 @@ import {
setYesNoModalIsOpenImpl, setYesNoModalIsOpenImpl,
checkCardModalCase, checkCardModalCase,
YesNoModalCase, YesNoModalCase,
setPositionModalIsOpenImpl,
addPositionModalPositionImpl,
resetPositionModalImpl,
} from "./modalSlice"; } from "./modalSlice";
import { import {
MonsterState, MonsterState,
...@@ -87,6 +90,7 @@ const initialState: DuelState = { ...@@ -87,6 +90,7 @@ const initialState: DuelState = {
cardListModal: { isOpen: false, list: [] }, cardListModal: { isOpen: false, list: [] },
checkCardModal: { isOpen: false, cancelAble: false, tags: [] }, checkCardModal: { isOpen: false, cancelAble: false, tags: [] },
yesNoModal: { isOpen: false }, yesNoModal: { isOpen: false },
positionModal: { isOpen: false, positions: [] },
}, },
}; };
...@@ -134,6 +138,9 @@ const duelSlice = createSlice({ ...@@ -134,6 +138,9 @@ const duelSlice = createSlice({
setCheckCardModalCancelResponse: setCheckCardModalCancelResponseImpl, setCheckCardModalCancelResponse: setCheckCardModalCancelResponseImpl,
resetCheckCardModal: resetCheckCardModalImpl, resetCheckCardModal: resetCheckCardModalImpl,
setYesNoModalIsOpen: setYesNoModalIsOpenImpl, setYesNoModalIsOpen: setYesNoModalIsOpenImpl,
setPositionModalIsOpen: setPositionModalIsOpenImpl,
addPositionModalPosition: addPositionModalPositionImpl,
resetPositionModal: resetPositionModalImpl,
}, },
extraReducers(builder) { extraReducers(builder) {
handsCase(builder); handsCase(builder);
...@@ -175,6 +182,9 @@ export const { ...@@ -175,6 +182,9 @@ export const {
setCheckCardModalCancelResponse, setCheckCardModalCancelResponse,
resetCheckCardModal, resetCheckCardModal,
setYesNoModalIsOpen, setYesNoModalIsOpen,
setPositionModalIsOpen,
addPositionModalPosition,
resetPositionModal,
} = duelSlice.actions; } = duelSlice.actions;
export const selectDuelHsStart = (state: RootState) => { export const selectDuelHsStart = (state: RootState) => {
return state.duel.meInitInfo != null; return state.duel.meInitInfo != null;
......
...@@ -53,6 +53,11 @@ export interface ModalState { ...@@ -53,6 +53,11 @@ export interface ModalState {
isOpen: boolean; isOpen: boolean;
msg?: string; msg?: string;
}; };
// 表示形式选择弹窗
positionModal: {
isOpen: boolean;
positions: ygopro.CardPosition[];
};
} }
// 更新卡牌弹窗打开状态 // 更新卡牌弹窗打开状态
...@@ -269,6 +274,25 @@ export const YesNoModalCase = (builder: ActionReducerMapBuilder<DuelState>) => { ...@@ -269,6 +274,25 @@ export const YesNoModalCase = (builder: ActionReducerMapBuilder<DuelState>) => {
}); });
}; };
export const setPositionModalIsOpenImpl: CaseReducer<
DuelState,
PayloadAction<boolean>
> = (state, action) => {
state.modalState.positionModal.isOpen = action.payload;
};
export const addPositionModalPositionImpl: CaseReducer<
DuelState,
PayloadAction<ygopro.CardPosition>
> = (state, action) => {
state.modalState.positionModal.positions.push(action.payload);
};
export const resetPositionModalImpl: CaseReducer<DuelState> = (state) => {
state.modalState.positionModal.isOpen = false;
state.modalState.positionModal.positions = [];
};
export const selectCardModalIsOpen = (state: RootState) => export const selectCardModalIsOpen = (state: RootState) =>
state.duel.modalState.cardModal.isOpen; state.duel.modalState.cardModal.isOpen;
export const selectCardModalName = (state: RootState) => export const selectCardModalName = (state: RootState) =>
......
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