Commit be7512d0 authored by Chunchi Che's avatar Chunchi Che

register handsSelector in simpleDuelPlate

parent 9ed2ceaf
import { PayloadAction, CaseReducer } from "@reduxjs/toolkit"; import { PayloadAction, CaseReducer } from "@reduxjs/toolkit";
import { DuelState } from "./mod"; import { DuelState } from "./mod";
import { RootState } from "../../store";
export interface Hands { export interface Hands {
cards: number[]; // TODO: use Card struct Unitly cards: number[]; // TODO: use Card struct Unitly
...@@ -28,3 +29,8 @@ export const opAddHandsImpl: CaseReducer<DuelState, PayloadAction<number[]>> = ( ...@@ -28,3 +29,8 @@ export const opAddHandsImpl: CaseReducer<DuelState, PayloadAction<number[]>> = (
state.opHands = { cards: action.payload }; state.opHands = { cards: action.payload };
} }
}; };
export const selectMeHands = (state: RootState) =>
state.duel.meHands || { cards: [] };
export const selectOpHands = (state: RootState) =>
state.duel.opHands || { cards: [] };
...@@ -3,8 +3,23 @@ ...@@ -3,8 +3,23 @@
* *
* */ * */
import { RootState } from "../../store";
import SimpleDuelPlateImpl from "./simpleDuel/mod"; import SimpleDuelPlateImpl from "./simpleDuel/mod";
import { selectMeHands } from "../../reducers/duel/handsSlice";
export default function Duel() { export default function Duel() {
return new SimpleDuelPlateImpl().render(); const simpleDuelPlate = new SimpleDuelPlateImpl();
// TODO: opHands
const handsSelector = (state: RootState) => {
const cards = selectMeHands(state).cards;
return cards.map((item) => {
return { code: item };
});
};
simpleDuelPlate.registerHands(handsSelector);
return simpleDuelPlate.render();
} }
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