added changing color in navbar if ready

This commit is contained in:
Wenszel
2021-03-20 20:49:47 +01:00
parent 0844f23c4e
commit e32b46556c
9 changed files with 94 additions and 57 deletions
+17
View File
@@ -0,0 +1,17 @@
var express = require('express');
var router = express.Router();
//starts game
router.post('/start', function (req, res){
/* set interval:
draw a number <1,6>
update positions
*/
});
//returns positions
router.get('/', function (req, res){
});
module.exports = router;
+23 -4
View File
@@ -2,8 +2,7 @@ var express = require('express');
var router = express.Router();
var RoomModel = require('../schemas/room');
router.post('/ready', function (req, res){
var changeReadyState = (req, res, exit) =>{
RoomModel.findOne({_id: req.session.roomId}, function (err, doc){
if (err) {
res.status(500).send(err)
@@ -13,7 +12,9 @@ router.post('/ready', function (req, res){
let index = updatedPlayers.findIndex(
player => (player._id).toString() == (req.session.playerId).toString()
);
updatedPlayers[index].ready = !updatedPlayers[index].ready;
if(!exit)
{updatedPlayers[index].ready = !updatedPlayers[index].ready;}
else {updatedPlayers[index].ready = false;}
RoomModel.findOneAndUpdate({
_id: req.session.roomId
}, {players: updatedPlayers}, function(err, doc){
@@ -27,11 +28,29 @@ router.post('/ready', function (req, res){
res.status(200).send("Ready!");
}
});
}
//changing status of player to ready for game
router.post('/ready', function (req, res){
changeReadyState(req, res, false)
});
//deleting user in case he left before game started
router.post('/exit', function(req,res){
console.log("wyszedł XD")
changeReadyState(req,res, true)
});
//return session data
router.get('/', (req,res)=>{
if(req.session.name){
res.send({
name: req.session.name,
playerId: req.session.playerId,
roomId: req.session.roomId,
})
}else{
res.end();
}
});
module.exports = router;
+10 -31
View File
@@ -34,50 +34,30 @@ router.post('/add', function (req, res) {
}else {
let players = results.players;
players.push({
name: req.body.name,
ready: false,
color: colors[players.length]
});
let updateObj = {
players: players,
}
let updateObj = { players: players }
players.length === 4 ? updateObj.full = true : updateObj.full = false;
RoomModel.findOneAndUpdate(
{ _id: results._id }, //find room by id
updateObj,
function (err, docs) {
if (err){
console.log(err)
}
else{
console.log("Updated Docs : ", docs);
}
}
).then(()=>{
req.session.roomId = results._id;
req.session.playerId = results.players[results.players.lenght - 1]._id;
req.session.name = req.body.name;
res.status(200).send('Joined!');
});
updateObj)
.then(()=>{
req.session.roomId = results._id;
req.session.playerId = updateObj.players[(updateObj.players).lenght - 1]._id;
req.session.name = req.body.name;
res.status(200).send('Joined!');
});
}
});
});
//deleting room after game ends
router.delete('/delete/{id}', function(req,res){
});
//editing room every move
router.put('/edit', function(req,res){
});
//get room values
router.get('/', function(req,res){
RoomModel.findOne(
@@ -87,7 +67,6 @@ router.get('/', function(req,res){
console.log(err)
}
else{
console.log(docs)
res.send({ players: docs.players});
}
}