Commit be7cdb4d authored by chechunchi's avatar chechunchi

fix field.tsx

parent 2c7f40eb
Pipeline #19535 passed with stages
in 6 minutes and 11 seconds
......@@ -38,5 +38,17 @@ export const initFieldImpl: CaseReducer<DuelState, PayloadAction<number>> = (
}
};
export const clearFieldPlaceInteractivitiesImpl: CaseReducer<
DuelState,
PayloadAction<number>
> = (state, action) => {
const player = action.payload;
const field = judgeSelf(player, state) ? state.meField : state.opField;
if (field && field.inner) {
field.inner.placeInteractivities = undefined;
}
};
export const selectMeField = (state: RootState) => state.duel.meField;
export const selectOpField = (state: RootState) => state.duel.opField;
......@@ -64,7 +64,11 @@ import {
exclusionCase,
} from "./exclusionSlice";
import { DeckState, initDeckImpl } from "./deckSlice";
import { FieldState, initFieldImpl } from "./fieldSlice";
import {
FieldState,
initFieldImpl,
clearFieldPlaceInteractivitiesImpl,
} from "./fieldSlice";
export interface DuelState {
selfType?: number;
......@@ -156,6 +160,7 @@ const duelSlice = createSlice({
// 场地区相关`Reducer`
initField: initFieldImpl,
clearFieldPlaceInteractivities: clearFieldPlaceInteractivitiesImpl,
// UI相关`Reducer`
setCardModalIsOpen: setCardModalIsOpenImpl,
......@@ -229,6 +234,7 @@ export const {
initDeck,
initExclusion,
initField,
clearFieldPlaceInteractivities,
} = duelSlice.actions;
export const selectDuelHsStart = (state: RootState) => {
return state.duel.meInitInfo != null;
......
......@@ -2,6 +2,7 @@ import * as BABYLON from "@babylonjs/core";
import * as CONFIG from "../../config/ui";
import { useAppSelector } from "../../hook";
import { selectMeField, selectOpField } from "../../reducers/duel/fieldSlice";
import { clearFieldPlaceInteractivities } from "../../reducers/duel/mod";
import FixedSlot from "./fixedSlot";
import { Depth } from "./singleSlot";
......@@ -17,6 +18,7 @@ const Field = () => {
sequence={0}
position={fieldPosition(0)}
rotation={CONFIG.CardSlotRotation(false)}
clearPlaceInteractivitiesAction={clearFieldPlaceInteractivities}
/>
) : (
<></>
......@@ -27,6 +29,7 @@ const Field = () => {
sequence={0}
position={fieldPosition(1)}
rotation={CONFIG.CardSlotRotation(true)}
clearPlaceInteractivitiesAction={clearFieldPlaceInteractivities}
/>
) : (
<></>
......
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