diff options
Diffstat (limited to 'server/Entities/Player.js')
-rw-r--r-- | server/Entities/Player.js | 127 |
1 files changed, 76 insertions, 51 deletions
diff --git a/server/Entities/Player.js b/server/Entities/Player.js index 4c67f45..2e70d2a 100644 --- a/server/Entities/Player.js +++ b/server/Entities/Player.js @@ -3,7 +3,8 @@ const Entity = require('./Entity'); const Bullet = require('./Bullet'); -var Player = function(id){ +var Player = function (id) +{ var self = Entity.Entity(); self.id = id; self.playerName = ""; @@ -24,48 +25,57 @@ var Player = function(id){ self.ignorePlayerAttack = false; var super_update = self.update; - self.update = function(){ + self.update = function () + { self.updateSpeed(); super_update(); - if(self.pressingAttack){ + if (self.pressingAttack) + { self.shootBullet(self.mouseAngle); } } - self.shootBullet = function(angle){ + self.shootBullet = function (angle) + { var b = Bullet.Bullet(self.id, angle); b.x = self.x b.y = self.y } - self.updateSpeed = function(){ - if(self.pressingRight){ - self.speedX = self.maxSpeed * self.move; - self.dir = 3; - } - else if(self.pressingLeft){ - self.speedX = -self.maxSpeed * self.move; - self.dir = 1; - } - else - self.speedX = 0; - - if(self.pressingUp){ - self.speedY = -self.maxSpeed * self.move; - self.dir = 2; - } - else if(self.pressingDown){ - self.speedY = self.maxSpeed * self.move; - self.dir = 0; - } - else - self.speedY = 0; - // dont sit while moving, in case we dont press shift(rotation/dir) - if(self.pressingAttack + self.pressingDown + self.pressingLeft + self.pressingRight + self.pressingUp != 0 && self.move) - self.sit = false; + self.updateSpeed = function () + { + if (self.pressingRight) + { + self.speedX = self.maxSpeed * self.move; + self.dir = 3; + } + else if (self.pressingLeft) + { + self.speedX = -self.maxSpeed * self.move; + self.dir = 1; + } + else + self.speedX = 0; + + if (self.pressingUp) + { + self.speedY = -self.maxSpeed * self.move; + self.dir = 2; + } + else if (self.pressingDown) + { + self.speedY = self.maxSpeed * self.move; + self.dir = 0; + } + else + self.speedY = 0; + // dont sit while moving, in case we dont press shift(rotation/dir) + if (self.pressingAttack + self.pressingDown + self.pressingLeft + self.pressingRight + self.pressingUp != 0 && self.move) + self.sit = false; } - self.getInitPack = function() { + self.getInitPack = function () + { return { id: self.id, playerName: self.playerName, @@ -80,7 +90,8 @@ var Player = function(id){ ignorePlayerAttack: self.ignorePlayerAttack, }; } - self.getUpdatePack = function() { + self.getUpdatePack = function () + { return { id: self.id, playerName: self.playerName, @@ -102,69 +113,83 @@ var Player = function(id){ Player.list = {}; -Player.onConnect = function(socket, pName){ +Player.onConnect = function (socket, pName) +{ var player = Player(socket.id); player.playerName = pName; - socket.on('keyPress', function(data){ + socket.on('keyPress', function (data) + { if (data.shift) player.move = false; else player.move = true; - if (data.inputId === 'left'){ + if (data.inputId === 'left') + { player.pressingLeft = data.state; player.dir = 1; } - else if (data.inputId === 'right'){ + else if (data.inputId === 'right') + { player.pressingRight = data.state; player.dir = 3; } - else if (data.inputId === 'up'){ + else if (data.inputId === 'up') + { player.pressingUp = data.state; player.dir = 2; } - else if (data.inputId === 'down'){ + else if (data.inputId === 'down') + { player.pressingDown = data.state; player.dir = 0; } - else if(data.inputId === 'sit'){ + else if (data.inputId === 'sit') + { player.sit = data.state; } - else if (data.inputId === 'attack'){ + else if (data.inputId === 'attack') + { player.pressingAttack = data.state; } - else if (data.inputId === 'mouseAngle'){ + else if (data.inputId === 'mouseAngle') + { player.mouseAngle = data.state; } - if (data.inputId === 'inInventory'){ + if (data.inputId === 'inInventory') + { player.inInventory = data.state; } }); - socket.emit('init',{ - selfId:socket.id, - player:Player.getAllInitPack(), - bullet:Bullet.Bullet.getAllInitPack(), + socket.emit('init', { + selfId: socket.id, + player: Player.getAllInitPack(), + bullet: Bullet.Bullet.getAllInitPack(), }); } -Player.getAllInitPack = function(){ +Player.getAllInitPack = function () +{ var players = []; - for(var i in Player.list) + for (var i in Player.list) players.push(Player.list[i].getInitPack()); return players; } -Player.onDisconnect = function(socket){ +Player.onDisconnect = function (socket) +{ delete Player.list[socket.id]; Entity.removePack.player.push(socket.id); } -Player.update = function(){ +Player.update = function () +{ var pack = []; - for(var i in Player.list){ + for (var i in Player.list) + { var player = Player.list[i]; player.update(); pack.push(player.getUpdatePack()); @@ -175,4 +200,4 @@ Player.update = function(){ } module.exports = { Player }; -exports.list = Player.list;
\ No newline at end of file +exports.list = Player.list; |