diff --git a/client/game.css b/client/game.css index 84293aad..5afdfd17 100644 --- a/client/game.css +++ b/client/game.css @@ -1,12 +1,52 @@ /* GAME */ -.game-cryp { -/* flex: 1 1 100%; - display: flex; - flex-flow: column; -*/ /*border: 1px solid whitesmoke;*/ - /*margin-bottom: 1em;*/ - /*justify-content: center;*/ +.game { + display: grid; + grid-template-columns: repeat(3, 1fr)); + grid-template-columns: repeat(6, 1fr)); + + grid-template-areas: + "opponent opponent opponent" + "opponent opponent opponent" + "middle middle middle" + "player player player"; + "player player player"; + "player player player"; +} + +.team { + grid-area: player; + display: grid; + grid-template-columns: repeat(3, 1fr); + text-align: center; +} + +.opponent { + grid-area: opponent; +} + +.opponent .combat-text { + left: 40%; + transform: translate(-50%, -50%); +} + +.target-svg { + background: green; + flex: 1; +} + +.target-svg path { + stroke: whitesmoke; + stroke-width: 4px; +} + + +.game-cryp { + display: grid; + grid-template-areas: + "stats" + "effects" + "avatar"; transition-property: all; transition-duration: 0.5s; @@ -14,23 +54,29 @@ transition-timing-function: ease; } +.player .game-cryp { + grid-template-areas: + "skills" + "avatar" + "effects" + "stats"; +} + .game-cryp .stats { + grid-area: stats; display: flex; flex: row; } .game-cryp .skills { + grid-area: skills; display: flex; - flex-flow: row wrap; - flex: 1 0 25%; - height: 100%; - z-index: 10; + flex-flow: row; } .game-cryp .effects { - max-height: 100%; font-size: 1.5em; - flex: 1; + grid-area: effects; } .game-btn { @@ -90,13 +136,6 @@ text-align: center; } - -.cryp-list { - display: flex; - flex-flow: row; - width: 100%; -} - /* CRYP DAMAGE */ @@ -179,4 +218,8 @@ CRYP DAMAGE .purple-damage .stats { border-top: 1px solid purple; +} + +.img { + position: relative; } \ No newline at end of file diff --git a/client/src/components/game.component.jsx b/client/src/components/game.component.jsx index 890f778f..1516bf24 100644 --- a/client/src/components/game.component.jsx +++ b/client/src/components/game.component.jsx @@ -99,7 +99,7 @@ function GamePanel(props) { const cryps = team.cryps.map((c, i) => ); return ( -
+
{cryps}
); @@ -151,7 +151,7 @@ function GamePanel(props) { function OpponentTeam(team) { const cryps = team.cryps.map(OpponentCryp); return ( -
+
{cryps}
); @@ -159,13 +159,15 @@ function GamePanel(props) { const gameClasses = `game ${resolution ? 'resolving': ''}`; + // {header} + // {timer} + + return (
setActiveCryp(null)} > - {header} - {timer} - {PlayerTeam(playerTeam, setActiveSkill)} {otherTeams.map(OpponentTeam)} + {PlayerTeam(playerTeam, setActiveSkill)}
); } diff --git a/client/src/components/targeting.arrows.jsx b/client/src/components/targeting.arrows.jsx index fb9f39d9..83c628e8 100644 --- a/client/src/components/targeting.arrows.jsx +++ b/client/src/components/targeting.arrows.jsx @@ -24,8 +24,8 @@ function TargetSvg(args) { const skillIndex = playerTeam.cryps[source].skills.findIndex(s => s.skill === cast.skill); const skillOffset = (100 * skillIndex) + 50; - const sourceX = 0; - const sourceY = (source * 300) + skillOffset; + const sourceY = 0; + const sourceX = (source * 300) + skillOffset; const targetY = (target * 300) + 150; const curveStart = 150 + (150 * source); const curveEnd = 450 + curveStart; @@ -33,12 +33,12 @@ function TargetSvg(args) { if (defensive) { const path = ` M${sourceX},${sourceY} - L150,${sourceY} - C150,${sourceY} 150,${targetY} 150,${targetY} - L0,${targetY} - L50,${targetY - 4} - M0,${targetY} - L50,${targetY + 4} + L${sourceY},150 + C${sourceY},150 ${targetY},150 ${targetY},150 + L${targetY},0 + L${targetY - 4},50 + M${targetY},0 + L${targetY + 4},0 `; return ; @@ -48,10 +48,10 @@ function TargetSvg(args) { M${sourceX},${sourceY} L${curveStart},${sourceY} C${curveEnd},${sourceY} ${curveStart},${targetY} ${curveEnd},${targetY} - L900,${targetY} - L850,${targetY - 4} - M900,${targetY} - L850,${targetY + 4} + L${targetY},900 + L${targetY - 4},850 + M${targetY},900 + L${targetY + 4},850 `; return ; @@ -62,7 +62,7 @@ function TargetSvg(args) { : outgoing.map(getPath); return ( - + {arrows} ); diff --git a/client/styles.css b/client/styles.css index 029bda34..13937743 100644 --- a/client/styles.css +++ b/client/styles.css @@ -21,6 +21,9 @@ html, body, main { max-height: 100%; min-height: 100%; /*padding: 0 20%;*/ + + /* stops inspector going skitz*/ + overflow: hidden; } html { @@ -50,8 +53,8 @@ figure { main { padding: 0 2em; display: grid; - grid-template-columns: repeat(10, minmax(min-content, 10%)); - grid-template-rows: repeat(10, min-content); + grid-template-columns: repeat(10, 10%)); + grid-template-rows: min-content 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; grid-template-areas: "hd hd hd hd hd hd hd hd hd hd" @@ -62,8 +65,8 @@ main { "nav main main main main main main main main main" "nav main main main main main main main main main" "nav main main main main main main main main main" + "nav main main main main main main main main main" "nav main main main main main main main main main"; - /*"ft ft ft ft ft ft ft ft ft ft";*/ } nav { @@ -545,23 +548,3 @@ figure.gray { } -.team-opponent .combat-text { - left: 40%; - transform: translate(-50%, -50%); -} - -.img { - position: relative; -} - -.game .target-svg { - flex: 1; - height: 94%; - max-width: 100%; -} - -.game .target-svg path { - stroke: whitesmoke; - stroke-width: 4px; -} -