a draft of player view, debug
This commit is contained in:
parent
46560924ce
commit
c8b432fe57
13 changed files with 183 additions and 33 deletions
|
@ -19,6 +19,7 @@
|
|||
defineArray.push("lib/wController/pageStorage");
|
||||
defineArray.push("lib/wController/page");
|
||||
defineArray.push("lib/wController/localModel");
|
||||
defineArray.push("lib/wController/player");
|
||||
|
||||
defineArray.push("views/view");
|
||||
defineArray.push("views/layout");
|
||||
|
@ -43,6 +44,7 @@
|
|||
var PageStorage = require("lib/wController/pageStorage");
|
||||
var PageController = require("lib/wController/page");
|
||||
var LocalModel = require("lib/wController/localModel");
|
||||
var PlayerModel = require("lib/wController/player");
|
||||
|
||||
var View = require("views/view");
|
||||
var Layout = require("views/layout");
|
||||
|
@ -204,9 +206,20 @@
|
|||
var node = this._nodes[name];
|
||||
node.connected = false;
|
||||
|
||||
switch (name) {
|
||||
case "Corax":
|
||||
if (this._playerCtl) {
|
||||
this._mainLayout.removePlayer();
|
||||
this._playerCtl._onSocketDisconnected();
|
||||
this._playerCtl.uneregister();
|
||||
this._playerCtl.destructor();
|
||||
this._playerCtl = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
for (var id in node.foreigns) {
|
||||
if (node.foreigns[id].subscribed) {
|
||||
node.foreigns[id].controller._onSocketDisconnected;
|
||||
node.foreigns[id].controller._onSocketDisconnected();
|
||||
}
|
||||
}
|
||||
node.state.setData(SocketState.straight.disconnected);
|
||||
|
@ -242,14 +255,14 @@
|
|||
|
||||
this._nodes[name] = obj;
|
||||
},
|
||||
"registerForeignController": function(node, controller) {
|
||||
var node = this._nodes[node];
|
||||
"registerForeignController": function(nodeName, controller) {
|
||||
var node = this._nodes[nodeName];
|
||||
if (node === undefined) {
|
||||
throw new Error("An attempt to register controller to an unknown node " + node);
|
||||
throw new Error("An attempt to register controller to an unknown node " + nodeName);
|
||||
}
|
||||
|
||||
if (node.foreigns[controller.id] !== undefined) {
|
||||
throw new Error("An attempt to register a controller under node " + node + " for a second time");
|
||||
throw new Error("An attempt to register a controller under node " + nodeName + " for a second time");
|
||||
}
|
||||
var obj = Object.create(null);
|
||||
obj.controller = controller;
|
||||
|
@ -271,43 +284,46 @@
|
|||
"_responsePlayer": function(ev) {
|
||||
var data = ev.getData();
|
||||
|
||||
console.log('Received player address: ' + data.at("address").toString());
|
||||
this._playerCtl = new PlayerModel(data.at("address").clone());
|
||||
this._playerCtl.register(this.dispatcher, this._nodes["Corax"].socket);
|
||||
this._playerCtl.subscribe();
|
||||
this._mainLayout.appendPlayer(this._playerCtl);
|
||||
},
|
||||
"setTheme": function(theme) {
|
||||
View.setTheme(theme);
|
||||
},
|
||||
"subscribeForeignController": function(node, controller) {
|
||||
var node = this._nodes[node];
|
||||
"subscribeForeignController": function(nodeName, controller) {
|
||||
var node = this._nodes[nodeName];
|
||||
if (node === undefined) {
|
||||
throw new Error("An attempt to subscribe a controller to an unknown node " + node);
|
||||
throw new Error("An attempt to subscribe a controller to an unknown node " + nodeName);
|
||||
}
|
||||
|
||||
if (node.foreigns[controller.id] === undefined) {
|
||||
throw new Error("An attempt to subscribe not registered controller to node " + node);
|
||||
throw new Error("An attempt to subscribe not registered controller to node " + nodeName);
|
||||
}
|
||||
node.foreigns[controller.id].subscribed = true;
|
||||
controller.subscribe();
|
||||
},
|
||||
"unregisterForeignController": function(node, controller) {
|
||||
var node = this._nodes[node];
|
||||
"unregisterForeignController": function(nodeName, controller) {
|
||||
var node = this._nodes[nodeName];
|
||||
if (node === undefined) {
|
||||
throw new Error("An attempt to unregister a controller from an unknown node " + node);
|
||||
throw new Error("An attempt to unregister a controller from an unknown node " + nodeName);
|
||||
}
|
||||
|
||||
if (node.foreigns[controller.id] === undefined) {
|
||||
throw new Error("An attempt to unregister not registered controller from node " + node);
|
||||
throw new Error("An attempt to unregister not registered controller from node " + nodeName);
|
||||
}
|
||||
delete node.foreigns[controller.id];
|
||||
controller.unregister();
|
||||
},
|
||||
"unsubscribeForeignController": function(node, controller) {
|
||||
var node = this._nodes[node];
|
||||
"unsubscribeForeignController": function(nodeName, controller) {
|
||||
var node = this._nodes[nodeName];
|
||||
if (node === undefined) {
|
||||
throw new Error("An attempt to unsubscribe a controller from an unknown node " + node);
|
||||
throw new Error("An attempt to unsubscribe a controller from an unknown node " + nodeName);
|
||||
}
|
||||
|
||||
if (node.foreigns[controller.id] === undefined) {
|
||||
throw new Error("An attempt to unsubscribe not registered controller from node " + node);
|
||||
throw new Error("An attempt to unsubscribe not registered controller from node " + nodeName);
|
||||
}
|
||||
node.foreigns[controller.id].subscribed = false;
|
||||
controller.unsubscribe();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue