Commit ae5340e6 authored by chechunchi's avatar chechunchi

add positionModal slice

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