Skip to content

Commit e07fc3e

Browse files
committed
Added support for portals
1 parent 28d4054 commit e07fc3e

24 files changed

+13746
-7
lines changed

NetThings.Core.js

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,22 @@ var applyMovable = function(target) {
1010

1111
var applyPortal = function(target, params) {
1212
var destination = params.destination;
13-
target.data('portal', function(objectId) { handlePortal(destination, objectId);});
13+
target.data('portal', function(object) { handlePortal(destination, object);});
14+
portals.push(target);
1415
};
1516

16-
var handlePortal = function(destintation, objectId){
17-
var object = placeObjects[objectId];
18-
delete placeObjects['objectId'];
19-
objectState[destination][objectId] = object;
17+
var handlePortal = function(destination, object){
18+
var objectId = object.attr('id');
19+
var objectSpec = placeObjects[objectId];
20+
delete placeObjects[objectId];
21+
objectState[destination][objectId] = objectSpec;
22+
object.hide();
2023
saveState();
2124
};
2225

2326

27+
28+
2429
var behaviorHandlers = {
2530
'movable' : applyMovable,
2631
'portal' : applyPortal
@@ -39,6 +44,7 @@ var initialState = {
3944

4045
var objectState;
4146
var placeObjects;
47+
var portals = [];
4248

4349
var dragStop = function(e, ui) {
4450
// when someone finishes dragging an object, let's update its object state
@@ -48,8 +54,26 @@ var dragStop = function(e, ui) {
4854
placeObjects[objectId].top = ui.position.top;
4955
placeObjects[objectId].left = ui.position.left;
5056

57+
handlePortals(ui.helper, ui.position);
58+
5159
saveState();
52-
};
60+
}
61+
62+
var handlePortals = function(object, position) {
63+
for(i=0;i<portals.length;i++)
64+
{
65+
var portal = portals[i];
66+
var portalPosition = portal.offset();
67+
68+
var portalBottom = portalPosition.top + portal.height();
69+
var portalRight = portalPosition.left + portal.width();
70+
if (position.top > portalPosition.top && position.left > portalPosition.left
71+
&& position.top < portalBottom && position.left < portalRight)
72+
{
73+
portal.data('portal')(object);
74+
}
75+
}
76+
}
5377

5478
var clearSavedState = function() {
5579
createCookie('thingsState', '', -1);

chaos.htm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<head>
33
<title>Chaos, the space where things first appeared</title>
44
<script type="text/javascript" src="json2.js"></script>
5-
<script type="text/javascript" src="jquery-1.5.min.js"></script>
5+
<script type="text/javascript" src="jquery-1.5.js"></script>
66
<script type="text/javascript" src="jquery-ui-1.8.9.custom.min.js"></script>
77
<script type="text/javascript" src="NetThings.Core.js"></script>
88
<script type="text/javascript" src="cookies.js" ></script>

0 commit comments

Comments
 (0)