Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Entity = require('../entity/entity.js');
- var Player = function (id) {
- this.player = function(id) {
- var self = Entity.entity();
- self.id = id;
- self.number = "" + Math.floor(10 * Math.random());
- self.pressingRight = false;
- self.pressingLeft = false;
- self.pressingUp = false;
- self.pressingDown = false;
- self.maxSpd = 10;
- var super_update = self.update;
- self.update = function() {
- self.updateSpd();
- super_update();
- }
- self.updateSpd = function(){
- if(self.pressingRight && self.x < 480)
- self.spdX = self.maxSpd;
- else if(self.pressingLeft && self.x > 0)
- self.spdX = -self.maxSpd;
- else
- self.spdX = 0;
- if(self.pressingUp && self.y > 20)
- self.spdY = -self.maxSpd;
- else if(self.pressingDown && self.y < 500)
- self.spdY = self.maxSpd;
- else
- self.spdY = 0;
- }
- this.list[id] = self;
- return self;
- }
- this.list = {};
- this.onConnect = function(socket) {
- var player = this.player(socket.id);
- socket.on('keyPress',function(data){
- if(data.inputId === 'left')
- player.pressingLeft = data.state;
- else if(data.inputId === 'right')
- player.pressingRight = data.state;
- else if(data.inputId === 'up')
- player.pressingUp = data.state;
- else if(data.inputId === 'down')
- player.pressingDown = data.state;
- });
- }
- this.onDisconnect = function(socket) {
- delete this.list[socket.id];
- }
- this.onUpdate = function() {
- var pack = [];
- for(var i in this.list){
- var player = this.list[i];
- player.onUpdate();
- pack.push({
- x:player.x,
- y:player.y,
- number:player.number
- });
- }
- return pack;
- }
- }
- module.exports = new Player();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement