Skip to content

Commit

Permalink
Deck loader now populates board, fixed issue with empty games not bei…
Browse files Browse the repository at this point in the history
…ng deleted
  • Loading branch information
gregorterrill committed Jul 4, 2016
1 parent 91b1fc4 commit ce63af3
Show file tree
Hide file tree
Showing 9 changed files with 138 additions and 114 deletions.
8 changes: 4 additions & 4 deletions client/public/build.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion client/public/build.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions client/src/components/app.vue
Expand Up @@ -13,8 +13,8 @@
<div class="container">

<div class="boards">
<board player="opponent"></board>
<board player="you"></board>
<board player-type="opponent"></board>
<board player-type="you"></board>
</div>

<sidebar></sidebar>
Expand Down
73 changes: 11 additions & 62 deletions client/src/components/game/board.vue
Expand Up @@ -29,22 +29,22 @@
</style>

<template>
<div class="board board--{{ player }}">
<div class="board board--{{ playerType }}">

<deck-loader v-if="(gameRound < 0)" :player="player"></deck-loader>
<deck-loader v-if="(gameRound < 0)" :player="playerType"></deck-loader>

<div v-if="(gameRound >= 0)" class="board__player">
<div class="board__row">
<stack type="discard"></stack>
<stack type="deck"></stack>
<stack type="discard" :cards="player.discard"></stack>
<stack type="deck" :cards="player.deck"></stack>
</div>
<div class="board__row">
<stack type="conjurations"></stack>
<card card-name="Aradel Summergaard" card-type="pheonixborn"></card>
<stack type="conjurations" :cards="player.conjurations"></stack>
<card :card-name="player.pheonixborn" card-type="pheonixborn"></card>
</div>
<div class="board__row">
<div class="dice-pool">
<die v-for="die in dice" :type="die.type" :face="die.face" :exhausted="die.exhausted"></die>
<die v-for="die in player.dice" :type="die.type" :face="die.face" :exhausted="die.exhausted"></die>
</div>
</div>
</div>
Expand Down Expand Up @@ -81,7 +81,7 @@ import deckLoader from '../ui/deckloader.vue';
import store from '../../store.js';
export default {
props: ['player'],
props: ['player-type'],
components: {
die,
card,
Expand All @@ -97,60 +97,9 @@ export default {
computed: {
gameRound: function() {
return store.state.gameRound;
}
},
data: function() {
return {
dice: [{
type: 'nat',
face: 'basic',
exhausted: false,
},
{
type: 'nat',
face: 'class',
exhausted: false,
},
{
type: 'nat',
face: 'power',
exhausted: false,
},
{
type: 'nat',
face: 'basic',
exhausted: false,
},
{
type: 'ill',
face: 'power',
exhausted: false,
},
{
type: 'ill',
face: 'basic',
exhausted: false,
},
{
type: 'ill',
face: 'class',
exhausted: false,
},
{
type: 'ill',
face: 'basic',
exhausted: true,
},
{
type: 'ill',
face: 'class',
exhausted: true,
},
{
type: 'ill',
face: 'class',
exhausted: true,
} ]
},
player: function() {
return store.state.players[store.socketId];
}
}
}
Expand Down
9 changes: 3 additions & 6 deletions client/src/components/game/stack.vue
Expand Up @@ -26,15 +26,12 @@
</template>

<script>
import store from '../../store.js';
export default {
props: ['type'],
props: ['type', 'cards'],
data: function() {
return {
cards: [
'Summwwrefd',
'dfdgfdgfd'
],
contextActions: [ {
text: "Shuffle",
action: this.shuffle
Expand Down Expand Up @@ -72,7 +69,7 @@ export default {
},
peekAtCards: function() {
this.$root.socket.emit('chat', 'DEBUG', this.cards);
store.socket.emit('chat', 'DEBUG', this.cards);
}
}
}
Expand Down
2 changes: 2 additions & 0 deletions client/src/components/ui/deckloader.vue
Expand Up @@ -93,6 +93,8 @@ export default {
//TODO - if all players decklists are now validated, time to start the game!
store.state.gameRound = 0;
store.socket.emit('requestGameState', store.state.gameId);
}
}
}
Expand Down
19 changes: 16 additions & 3 deletions client/src/components/ui/infobar.vue
Expand Up @@ -23,8 +23,8 @@
<template>
<div class="infobar">
<div class="infobar__playerlist">
<span v-if="playerList[0]">{{ playerList[0].username }}</span>
<span v-if="playerList[1]"> vs. {{ playerList[1].username }}</span>
<span v-if="playerList[0]">{{ playerList[0].playerName }}</span>
<span v-if="playerList[1]"> vs. {{ playerList[1].playerName }}</span>
<span v-else> waiting for opponent</span>
</div>
<h1 class="infobar__title">A&nbsp;&middot;&nbsp;S&nbsp;&middot;&nbsp;H&nbsp;&middot;&nbsp;E&nbsp;&middot;&nbsp;S</h1>
Expand All @@ -47,7 +47,20 @@ export default {
return store.state.gameRound;
},
playerList: function() {
return store.gameList[store.state.gameId].players;
var orderedPlayers = [];
for (player in store.state.players) {
if (store.state.players.hasOwnProperty(player)) {
orderedPlayers.push({
'playerSocketId': player,
'playerName': store.state.players[player].username,
'playerPos': store.state.players[player].position
});
}
}
orderedPlayers.sort(function(a, b) {
return a.playerPos - b.playerPos;
});
return orderedPlayers;
}
}
}
Expand Down
5 changes: 3 additions & 2 deletions client/src/entry.js
Expand Up @@ -42,9 +42,10 @@ store.socket.on('chat', function(sender, msg, className){
});

// recieve game ID (this is only sent to the specific room)
store.socket.on('gamePlayersUpdated', function(gameId) {
store.socket.on('gameStateUpdated', function(gameId, gameState) {
store.state.gameId = gameId;
vm.$broadcast('gamePlayersUpdated', gameId);
console.log(gameState);
store.state.players = gameState.players;
});

// recieve game list
Expand Down

0 comments on commit ce63af3

Please sign in to comment.