From 9864f8cb57dda412880dc62fb9912acddd736e90 Mon Sep 17 00:00:00 2001 From: Jeena Paradies Date: Sun, 22 Jul 2012 01:08:21 +0200 Subject: [PATCH 1/3] groundwork GameController --- app/Game/Core/GameController.js | 4 ++-- app/Game/Core/Player.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Game/Core/GameController.js b/app/Game/Core/GameController.js index 07e4c1f..3407bfb 100644 --- a/app/Game/Core/GameController.js +++ b/app/Game/Core/GameController.js @@ -32,12 +32,12 @@ function(Engine, Level, ) { for(var player in this.players) { this.players[player].destroy(); } - delete this.players; } GameController.prototype.userJoined = function(user) { - var player = new Player(this.physicsEngine, id); + var player = new Player(id, this.physicsEngine); this.players[user.id] = player; + return player; } GameController.prototype.userLeft = function(user) { diff --git a/app/Game/Core/Player.js b/app/Game/Core/Player.js index 5491d4c..abfd590 100644 --- a/app/Game/Core/Player.js +++ b/app/Game/Core/Player.js @@ -5,7 +5,7 @@ define([ function(Doll, Settings) { - function Player (physicsEngine, id, repository) { + function Player (id, physicsEngine, repository) { this.physicsEngine = physicsEngine; this.id = id; this.repository = repository; From 76fd4fb13b83a958fe99a06d25e96bf7b91355c0 Mon Sep 17 00:00:00 2001 From: Jeena Paradies Date: Sun, 22 Jul 2012 01:38:05 +0200 Subject: [PATCH 2/3] fixed typo --- app/Game/Client/Networker.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/Game/Client/Networker.js b/app/Game/Client/Networker.js index 76c4ebd..00b873f 100755 --- a/app/Game/Client/Networker.js +++ b/app/Game/Client/Networker.js @@ -2,7 +2,7 @@ define(["Game/Core/Protocol/Helper", "Game/Client/GameController"], function(Pro function Networker(socketLink) { this.socketLink = socketLink; - this.GameController = null; + this.gameController = null; this.init(); } @@ -36,8 +36,8 @@ define(["Game/Core/Protocol/Helper", "Game/Client/GameController"], function(Pro } Networker.prototype.onDisconnect = function() { - this.GameController.destruct(); - this.GameController = null; + this.gameController.destruct(); + this.gameController = null; } Networker.prototype.join = function(channelName){ @@ -50,19 +50,19 @@ define(["Game/Core/Protocol/Helper", "Game/Client/GameController"], function(Pro } Networker.prototype.onJoinSuccess = function(options) { - this.GameController = new GameController(this, options.id); - this.GameController.loadLevel("default.json") + this.gameController = new GameController(this, options.id); + this.gameController.loadLevel("default.json") console.log("Joined " + options.channelName); if (options.userIds && options.userIds.length > 0) { for(var i = 0; i < options.userIds.length; i++) { - this.GameController.userJoined(options.userIds[i]) + this.gameController.userJoined(options.userIds[i]) } } } Networker.prototype.onUserJoined = function(userId) { - this.GameController.userJoined(userId); + this.gameController.userJoined(userId); console.log("User " + userId + " joined"); } @@ -71,7 +71,7 @@ define(["Game/Core/Protocol/Helper", "Game/Client/GameController"], function(Pro } Networker.prototype.onUserLeft = function(userId) { - this.GameController.userLeft(userId); + this.gameController.userLeft(userId); } Networker.prototype.processControlCommand = function(command, options) { @@ -82,7 +82,7 @@ define(["Game/Core/Protocol/Helper", "Game/Client/GameController"], function(Pro case 'gameCommand': for(var gameCommand in options) { - this.GameController.processGameCommand(gameCommand, options[gameCommand]); + this.gameController.processGameCommand(gameCommand, options[gameCommand]); } break; From 03add700326fa762f5d2bc0d90da4255889c8663 Mon Sep 17 00:00:00 2001 From: Jeena Paradies Date: Sun, 22 Jul 2012 01:38:25 +0200 Subject: [PATCH 3/3] cleaned up client GameController --- app/Game/Client/GameController.js | 57 ++++++++----------------------- 1 file changed, 15 insertions(+), 42 deletions(-) diff --git a/app/Game/Client/GameController.js b/app/Game/Client/GameController.js index 9e24728..ca20bec 100755 --- a/app/Game/Client/GameController.js +++ b/app/Game/Client/GameController.js @@ -1,40 +1,24 @@ define([ + "Game/Core/GameController", + "Game/Server/Physics/Engine", "Game/Client/View/ViewController", - "Game/Core/Physics/Engine", - "Game/Core/Player", "Game/Client/Control/KeyboardController", - "Game/Config/Settings", - "Game/Core/Loader/Level", - "Lib/Vendor/Box2D", "Lib/Utilities/RequestAnimFrame" ], -function(ViewController, PhysicsEngine, Player, KeyboardController, Settings, Level, Box2D, requestAnimFrame) { +function(Parent, PhysicsEngine, ViewController, KeyboardController, requestAnimFrame) { - function GameController (clientGame) { - this.clientGame = clientGame; - this.init(); - }; + function GameController () { + this.me; + this.keyboardController; - GameController.prototype.init = function() { + Parent.apply(this, new PhysicsEngine()); this.viewController = new ViewController(); - this.physicsEngine = new PhysicsEngine(); - - this.update(); + this.update(); } - GameController.prototype.loadLevel = function(path) { - if (this.level) { - this.level.unload(); - } + GameController.prototype = Object.create(Parent); - this.level = new Level(path, this.physicsEngine); - this.level.loadLevelInToEngine(); - } - - GameController.prototype.getPhysicsEngine = function() { - return this.physicsEngine; - } GameController.prototype.getMe = function() { return this.me; @@ -48,29 +32,18 @@ function(ViewController, PhysicsEngine, Player, KeyboardController, Settings, Le this.viewController.update(); if(this.me) { - this.KeyboardController.update(); + this.keyboardController.update(); this.me.update(); } } - GameController.prototype.destruct = function() { - + GameController.prototype.destroy = function() { + Parent.prototype.destroy.call(this); } - GameController.prototype.spawnNewPlayerWithId = function(id) { - var player = new Player(this.physicsEngine, id, null); - player.spawn(100, 0); - this.physicsEngine.setCollisionDetector(player); - return player; - } - - GameController.prototype.spawnMeWithId = function(id) { - this.me = this.spawnNewPlayerWithId(id); - this.KeyboardController = new KeyboardController(this.me, this); - } - - GameController.prototype.sendGameCommand = function(command, options) { - this.clientGame.sendGameCommand(command, options); + GameController.prototype.meJoined = function(user) { + this.me = this.userJoined(user); + this.keyboardController = new KeyboardController(this.me, this); } GameController.prototype.processGameCommand = function(command, options) {