Merge branch 'restructuring' of github.com:logsol/chuck.js into restructuring

This commit is contained in:
logsol 2012-07-22 01:53:07 +02:00
commit 6f28a10149
4 changed files with 27 additions and 54 deletions

View file

@ -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();
}
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) {

View file

@ -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;

View file

@ -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) {

View file

@ -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;