backtracking
This commit is contained in:
@@ -14,7 +14,7 @@ interface AllPlayersProps extends StateProps {
|
|||||||
|
|
||||||
export default function AllPlayers({ state, setState, chipSelection, liftFromChildren }: AllPlayersProps) {
|
export default function AllPlayers({ state, setState, chipSelection, liftFromChildren }: AllPlayersProps) {
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
console.log(state);
|
return;
|
||||||
}, [state])
|
}, [state])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -16,21 +16,24 @@ interface PlayerProps extends StateProps {
|
|||||||
export default function Player({ player, state, setState, chipSelection, liftFromChildren }: PlayerProps) {
|
export default function Player({ player, state, setState, chipSelection, liftFromChildren }: PlayerProps) {
|
||||||
const [actionPrompt, setActionPrompt] = useState(ActionPrompts[0]);
|
const [actionPrompt, setActionPrompt] = useState(ActionPrompts[0]);
|
||||||
const [actionType, setActionType] = useState<GameActions>(GameActions.AWAIT);
|
const [actionType, setActionType] = useState<GameActions>(GameActions.AWAIT);
|
||||||
const [dynamic, setDynamic] = useState<PlayerData | undefined>(state.players.find((element: PlayerData) => element.id === player.id));
|
const [dynamic, setDynamic] = useState<PlayerData | undefined>();
|
||||||
const { selection, setSelection } = chipSelection;
|
const { selection, setSelection } = chipSelection;
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
return;
|
return;
|
||||||
}, [selection, setSelection])
|
}, [selection, setSelection])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setDynamic(state.players.find((element: PlayerData) => element.id === player.id));
|
||||||
|
}, [state, setState]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const newState = useActionType(state, actionType);
|
const newState = useActionType(state, actionType);
|
||||||
console.log(newState);
|
|
||||||
|
|
||||||
switch (actionType) {
|
switch (actionType) {
|
||||||
case GameActions.GETCHIPS:
|
case GameActions.GETCHIPS:
|
||||||
setActionPrompt(ActionPrompts[1]);
|
setActionPrompt(ActionPrompts[1]);
|
||||||
getChips();
|
getChips(newState);
|
||||||
setSelection([]);
|
setSelection([]);
|
||||||
break;
|
break;
|
||||||
case GameActions.BUYCARD:
|
case GameActions.BUYCARD:
|
||||||
@@ -44,15 +47,16 @@ export default function Player({ player, state, setState, chipSelection, liftFro
|
|||||||
}
|
}
|
||||||
}, [actionType]);
|
}, [actionType]);
|
||||||
|
|
||||||
const getChips = () => {
|
const getChips = (newState: AppState) => {
|
||||||
if (!dynamic?.turnActive) return;
|
if (!dynamic?.turnActive) return;
|
||||||
setActionPrompt(ActionPrompts[1]);
|
setActionPrompt(ActionPrompts[1]);
|
||||||
|
|
||||||
if (selection.length < 3) return;
|
if (selection.length < 3) return;
|
||||||
|
|
||||||
setState((prev: AppState) => {
|
setState(() => {
|
||||||
const { newPlayers, roundIncrement } = TurnOrderUtil(prev, dynamic);
|
const { newPlayers, roundIncrement } = TurnOrderUtil(newState, dynamic);
|
||||||
let newResources = prev.gameboard.tradingResources;
|
console.log(newPlayers)
|
||||||
|
let newResources = newState.gameboard.tradingResources;
|
||||||
|
|
||||||
for (let item of selection) {
|
for (let item of selection) {
|
||||||
for (let [key, value] of Object.entries(newResources)) {
|
for (let [key, value] of Object.entries(newResources)) {
|
||||||
@@ -64,11 +68,11 @@ export default function Player({ player, state, setState, chipSelection, liftFro
|
|||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...prev,
|
...newState,
|
||||||
round: (roundIncrement ? prev.round + 1 : prev.round),
|
round: (roundIncrement ? newState.round + 1 : newState.round),
|
||||||
players: newPlayers,
|
players: newPlayers,
|
||||||
gameboard: {
|
gameboard: {
|
||||||
...prev.gameboard,
|
...newState.gameboard,
|
||||||
tradingResources: newResources
|
tradingResources: newResources
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user