From 120d6773a682875b454791ab88ca488fbe0a6b3b Mon Sep 17 00:00:00 2001 From: Mikayla Dobson <93477693+innocuous-symmetry@users.noreply.github.com> Date: Sun, 24 Jul 2022 09:45:01 -0500 Subject: [PATCH] backtracking --- src/components/Player/AllPlayers.tsx | 2 +- src/components/Player/Player.tsx | 24 ++++++++++++++---------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/components/Player/AllPlayers.tsx b/src/components/Player/AllPlayers.tsx index a123b3e..becd964 100644 --- a/src/components/Player/AllPlayers.tsx +++ b/src/components/Player/AllPlayers.tsx @@ -14,7 +14,7 @@ interface AllPlayersProps extends StateProps { export default function AllPlayers({ state, setState, chipSelection, liftFromChildren }: AllPlayersProps) { useEffect(() => { - console.log(state); + return; }, [state]) return ( diff --git a/src/components/Player/Player.tsx b/src/components/Player/Player.tsx index 0946cb3..3575728 100644 --- a/src/components/Player/Player.tsx +++ b/src/components/Player/Player.tsx @@ -16,21 +16,24 @@ interface PlayerProps extends StateProps { export default function Player({ player, state, setState, chipSelection, liftFromChildren }: PlayerProps) { const [actionPrompt, setActionPrompt] = useState(ActionPrompts[0]); const [actionType, setActionType] = useState(GameActions.AWAIT); - const [dynamic, setDynamic] = useState(state.players.find((element: PlayerData) => element.id === player.id)); + const [dynamic, setDynamic] = useState(); const { selection, setSelection } = chipSelection; useEffect(() => { return; }, [selection, setSelection]) + useEffect(() => { + setDynamic(state.players.find((element: PlayerData) => element.id === player.id)); + }, [state, setState]); + useEffect(() => { const newState = useActionType(state, actionType); - console.log(newState); switch (actionType) { case GameActions.GETCHIPS: setActionPrompt(ActionPrompts[1]); - getChips(); + getChips(newState); setSelection([]); break; case GameActions.BUYCARD: @@ -44,15 +47,16 @@ export default function Player({ player, state, setState, chipSelection, liftFro } }, [actionType]); - const getChips = () => { + const getChips = (newState: AppState) => { if (!dynamic?.turnActive) return; setActionPrompt(ActionPrompts[1]); if (selection.length < 3) return; - setState((prev: AppState) => { - const { newPlayers, roundIncrement } = TurnOrderUtil(prev, dynamic); - let newResources = prev.gameboard.tradingResources; + setState(() => { + const { newPlayers, roundIncrement } = TurnOrderUtil(newState, dynamic); + console.log(newPlayers) + let newResources = newState.gameboard.tradingResources; for (let item of selection) { for (let [key, value] of Object.entries(newResources)) { @@ -64,11 +68,11 @@ export default function Player({ player, state, setState, chipSelection, liftFro } return { - ...prev, - round: (roundIncrement ? prev.round + 1 : prev.round), + ...newState, + round: (roundIncrement ? newState.round + 1 : newState.round), players: newPlayers, gameboard: { - ...prev.gameboard, + ...newState.gameboard, tradingResources: newResources }, }