diff --git a/client/src/Board.js b/client/src/Board.js index e9ee008..058e16f 100644 --- a/client/src/Board.js +++ b/client/src/Board.js @@ -3,95 +3,13 @@ import "./Board.css"; const base = process.env.PUBLIC_URL; const assetsPath = `${base}/assets`; -const images = {}; - -const getPlayerColors = (color) => { - switch (color) { - case "O": - return { - strokeStyle: "white", - fillStyle: "#ff5722" - } - case "R": - return { - strokeStyle: "white", - fillStyle: "#f44336" - } - case "W": - return { - strokeStyle: "black", - fillStyle: "#9e9e9e" - } - case "B": - return { - strokeStyle: "black", - fillStyle: "#03a9f4" - } - default: - return { - strokeStyle: "rgb(16, 16, 16)", - fillStyle: "rgb(64, 64, 64)" - } - }; -}; - -const hexagonRatio = 1.1547005, - tileHeight = 0.16, - tileWidth = tileHeight * hexagonRatio, - roadSize = tileHeight * 0.5 * (5. / 8.), - settlementSize = tileHeight * 0.5 - roadSize; - -const imageLoaded = (event) => { - const image = event.target; - console.log(`Done loading ${image.src}`); - image.removeEventListener("load", imageLoaded); - image.removeEventListener("error", imageLoadError); - - try { - if (image.drawFrame) { - window.requestAnimationFrame(image.drawFrame); - } - } catch (error) { - image.board = null; - } -}; - -const imageLoadError = (event) => { - const image = event.target; - console.log(`Error loading ${image.src}`); - image.removeEventListener("load", imageLoaded); - image.removeEventListener("error", imageLoadError); - console.log(`Error loading ${image.src}`); -} - -const loadImage = (file, drawFrame) => { - if (file in images) { - images[file].drawFrame = drawFrame; - return images[file]; - } - - const image = new Image(); - image.drawFrame = drawFrame; - images[file] = image; - - image.addEventListener("load", imageLoaded); - image.addEventListener("error", imageLoadError); - - image.src = `${assetsPath}/gfx/${file}`; - - return image; -} const Board = ({ game }) => { - const [closest, setClosest] = useState({ - info: {}, - tile: null, - road: null, - tradeToken: null, - settlement: null - }); - const center = { x: 300, y: 350 }, rows = [3, 4, 5, 4, 3]; + const [signature, setSignature] = useState(""); + const [pips, setPips] = useState(<>>); + const [borders, setBorders] = useState(<>>); + const [tiles, setTiles] = useState(<>>); const generatePips = () => { let row = 0, rowCount = 0; @@ -104,7 +22,7 @@ const Board = ({ game }) => { : String.fromCharCode(65 + i); divs.push(