card tier handling for game board rendering

This commit is contained in:
Mikayla Dobson
2022-04-16 11:56:54 -05:00
parent 9389dafa6b
commit d115481718

View File

@@ -10,31 +10,42 @@ export default function GameBoard() {
const [tierOne, setTierOne] = useState(null);
const [content, setContent] = useState(null);
let currentCards = {
tierOneCards: null,
tierTwoCards: null,
tierThreeCards: null,
};
useEffect(() => {
// param limit sets limit on number of cards rendered
// param tier filters by card tier
const buildGameBoardRow = (limit) => {
const buildGameBoardRow = (limit, tier) => {
let newBoard = [];
let iter = 0;
for (let cardConfig of CardDeck) {
if (cardConfig.tier !== tier) continue;
while (iter < limit) {
iter++;
// if (cardConfig.tier !== tier) continue;
newBoard.push(<Card state={cardConfig} />);
}
}
setContent(newBoard);
setTrigger(false);
switch (tier) {
case 1:
setTierOne(newBoard);
setTrigger(false);
break;
case 2:
setTierTwo(newBoard);
setTrigger(false);
break;
case 3:
setTierThree(newBoard);
setTrigger(false);
break;
default:
setTrigger(false);
break;
}
}
if (trigger) buildGameBoardRow(6);
if (trigger) buildGameBoardRow(6,1);
}, [trigger]);
return (
@@ -42,7 +53,7 @@ export default function GameBoard() {
<h1 className="gameboard-title">SPLINTER</h1>
<div className="gameboard-row">
{content || 'Loading'}
{tierOne || 'Loading'}
</div>
<h2>Deck length: {CardDeck.length}</h2>