diff --git a/src/components/Gameboard/Gameboard.tsx b/src/components/Gameboard/Gameboard.tsx index 846bd59..8dacdd9 100644 --- a/src/components/Gameboard/Gameboard.tsx +++ b/src/components/Gameboard/Gameboard.tsx @@ -12,6 +12,8 @@ import AvailableChips from '../Resources/AvailableChips'; import AllPlayers from '../Player/AllPlayers'; import CardRow from '../Card/CardRow'; import SelectionView from '../Resources/SelectionView'; +import { useCurrentPlayer } from '../../hooks/useCurrentPlayer'; +import getTotalBuyingPower from '../../util/getTotalBuyingPower'; const { validateChips } = getChipsActions; export default function Gameboard({ state, setState }: StateProps) { @@ -57,6 +59,13 @@ export default function Gameboard({ state, setState }: StateProps) { } }, [state]) + useEffect(() => { + if (state.actions.buyCard.active) { + const currentPlayer = useCurrentPlayer(state); + currentPlayer && console.log(getTotalBuyingPower(currentPlayer)); + } + }, [state.actions]) + // displays state of board if data is populated, otherwise points to game constructor useEffect(() => { if (!state.players.length) { diff --git a/src/components/Player/ActionMethods/buyCardActions.ts b/src/components/Player/ActionMethods/buyCardActions.ts index 5fe9992..c8f8a57 100644 --- a/src/components/Player/ActionMethods/buyCardActions.ts +++ b/src/components/Player/ActionMethods/buyCardActions.ts @@ -1,11 +1,11 @@ import { turnOrderUtil } from "../../../util/turnOrderUtil"; -import { AppState, CardData, FullDeck, PlayerCards, ResourceCost, setStateType } from "../../../util/types"; -import { useCurrentPlayer } from "../../../hooks/useCurrentPlayer"; import getTotalBuyingPower from "../../../util/getTotalBuyingPower"; -import { initialActions, setStateGetNoble } from "../../../hooks/stateSetters"; -import { canPickUpNoble } from "../../Nobles/canPickUpNoble"; -import usePreviousPlayer from "../../../hooks/usePreviousPlayer"; +import { AppState, CardData, PlayerCards, ResourceCost, setStateType } from "../../../util/types"; import cardTierToKey from "../../../util/cardTierToKey"; +import { canPickUpNoble } from "../../Nobles/canPickUpNoble"; +import { initialActions, setStateGetNoble } from "../../../hooks/stateSetters"; +import { useCurrentPlayer } from "../../../hooks/useCurrentPlayer"; +import usePreviousPlayer from "../../../hooks/usePreviousPlayer"; export const tooExpensive = (card: CardData, state: AppState): boolean => { const currentPlayer = useCurrentPlayer(state); @@ -63,7 +63,7 @@ export const buyCard = (state: AppState, setState: setStateType, card: CardData) let goldToReturn = 0; // @ts-ignore - if (cardCost[typedKey] > totalBuyingPower[typedKey]) { + while (cardCostPointer > tempPlayerInventory) { availableGold--; goldToReturn++; tempPlayerInventory++; diff --git a/src/main.tsx b/src/main.tsx index 1af5862..8cb84ff 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,6 +1,6 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' +import { render } from 'react-dom' import App from './App' import './index.css' -ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render() +const root = document.getElementById('root') as HTMLElement; +render(, root); diff --git a/src/util/getTotalBuyingPower.ts b/src/util/getTotalBuyingPower.ts index 8695e78..d2f93d3 100644 --- a/src/util/getTotalBuyingPower.ts +++ b/src/util/getTotalBuyingPower.ts @@ -11,7 +11,7 @@ export default function getTotalBuyingPower(currentPlayer: PlayerData) { } if (!currentPlayer) return totalBuyingPower; - + for (let [key,quantity] of Object.entries(currentPlayer.inventory)) { totalBuyingPower[key as keyof ResourceCost] += quantity; }