Commit a199e5f5 authored by Chunchi Che's avatar Chunchi Che

add modal list slice

parent f5fb9b2e
...@@ -23,6 +23,8 @@ import { ...@@ -23,6 +23,8 @@ import {
setCardModalTextImpl, setCardModalTextImpl,
setCardModalImgUrlImpl, setCardModalImgUrlImpl,
setCardModalInteractiviesImpl, setCardModalInteractiviesImpl,
setCardListModalIsOpenImpl,
setCardListModalInfoImpl,
} from "./modalSlice"; } from "./modalSlice";
import { import {
MonsterState, MonsterState,
...@@ -73,6 +75,7 @@ export interface DuelState { ...@@ -73,6 +75,7 @@ export interface DuelState {
const initialState: DuelState = { const initialState: DuelState = {
modalState: { modalState: {
cardModal: { isOpen: false, interactivies: [] }, cardModal: { isOpen: false, interactivies: [] },
cardListModal: { isOpen: false, list: [] },
}, },
}; };
...@@ -111,6 +114,8 @@ const duelSlice = createSlice({ ...@@ -111,6 +114,8 @@ const duelSlice = createSlice({
setCardModalText: setCardModalTextImpl, setCardModalText: setCardModalTextImpl,
setCardModalImgUrl: setCardModalImgUrlImpl, setCardModalImgUrl: setCardModalImgUrlImpl,
setCardModalInteractivies: setCardModalInteractiviesImpl, setCardModalInteractivies: setCardModalInteractiviesImpl,
setCardListModalIsOpen: setCardListModalIsOpenImpl,
setCardListModalInfo: setCardListModalInfoImpl,
}, },
extraReducers(builder) { extraReducers(builder) {
handsCase(builder); handsCase(builder);
...@@ -141,6 +146,8 @@ export const { ...@@ -141,6 +146,8 @@ export const {
clearMagicSelectInfo, clearMagicSelectInfo,
removeHand, removeHand,
initCemetery, initCemetery,
setCardListModalIsOpen,
setCardListModalInfo,
} = duelSlice.actions; } = duelSlice.actions;
export const selectDuelHsStart = (state: RootState) => { export const selectDuelHsStart = (state: RootState) => {
return state.duel.meInitInfo != null; return state.duel.meInitInfo != null;
......
...@@ -11,6 +11,15 @@ export interface ModalState { ...@@ -11,6 +11,15 @@ export interface ModalState {
imgUrl?: string; imgUrl?: string;
interactivies: { desc: string; response: number }[]; interactivies: { desc: string; response: number }[];
}; };
// 卡牌列表弹窗
cardListModal: {
isOpen: boolean;
list: {
name?: string;
desc?: string;
imgUrl?: string;
}[];
};
} }
// 更新卡牌弹窗打开状态 // 更新卡牌弹窗打开状态
...@@ -49,6 +58,24 @@ export const setCardModalInteractiviesImpl: CaseReducer< ...@@ -49,6 +58,24 @@ export const setCardModalInteractiviesImpl: CaseReducer<
state.modalState.cardModal.interactivies = action.payload; state.modalState.cardModal.interactivies = action.payload;
}; };
// 更新卡牌列表弹窗打开状态
export const setCardListModalIsOpenImpl: CaseReducer<
DuelState,
PayloadAction<boolean>
> = (state, action) => {
state.modalState.cardListModal.isOpen = action.payload;
};
// 更新卡牌列表文本
export const setCardListModalInfoImpl: CaseReducer<
DuelState,
PayloadAction<{ name?: string; desc?: string; imgUrl?: string }[]>
> = (state, action) => {
const list = action.payload;
state.modalState.cardListModal.list = list;
};
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) =>
...@@ -59,3 +86,7 @@ export const selectCardModalImgUrl = (state: RootState) => ...@@ -59,3 +86,7 @@ export const selectCardModalImgUrl = (state: RootState) =>
state.duel.modalState.cardModal.imgUrl; state.duel.modalState.cardModal.imgUrl;
export const selectCardModalInteractivies = (state: RootState) => export const selectCardModalInteractivies = (state: RootState) =>
state.duel.modalState.cardModal.interactivies; state.duel.modalState.cardModal.interactivies;
export const selectCardListModalIsOpen = (state: RootState) =>
state.duel.modalState.cardListModal.isOpen;
export const selectCardListModalInfo = (state: RootState) =>
state.duel.modalState.cardListModal.list;
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