@@ -25,37 +25,94 @@ var CheckOverlap = function (collisionInfo)
2525 var body1 = collisionInfo . body1 ;
2626 var body2 = collisionInfo . body2 ;
2727
28+ // console.log('');
29+ // console.log('%c CheckOverlap ' + body1.world._frame + ' ', 'background-color: pink');
30+ // collisionInfo.dump();
31+
2832 switch ( face )
2933 {
3034 case CONST . FACING_LEFT :
35+
3136 body1 . setTouchingLeft ( ) ;
3237 body2 . setTouchingRight ( ) ;
38+
3339 body1 . setBlockedLeft ( ) ;
3440 body2 . setBlockedRight ( ) ;
41+
42+ if ( body1 . isWorldBlockedRight ( ) )
43+ {
44+ body2 . setHardBlockedRight ( ) ;
45+ }
46+
47+ if ( body2 . isWorldBlockedLeft ( ) )
48+ {
49+ body1 . setHardBlockedLeft ( ) ;
50+ }
51+
3552 break ;
3653
3754 case CONST . FACING_RIGHT :
55+
3856 body1 . setTouchingRight ( ) ;
3957 body2 . setTouchingLeft ( ) ;
58+
4059 body1 . setBlockedRight ( ) ;
4160 body2 . setBlockedLeft ( ) ;
61+
62+ if ( body1 . isWorldBlockedLeft ( ) )
63+ {
64+ body2 . setHardBlockedLeft ( ) ;
65+ }
66+
67+ if ( body2 . isWorldBlockedRight ( ) )
68+ {
69+ body1 . setHardBlockedRight ( ) ;
70+ }
71+
4272 break ;
4373
4474 case CONST . FACING_UP :
75+
4576 body1 . setTouchingUp ( ) ;
4677 body2 . setTouchingDown ( ) ;
78+
4779 body1 . setBlockedUp ( ) ;
4880 body2 . setBlockedDown ( ) ;
81+
82+ if ( body1 . isWorldBlockedDown ( ) )
83+ {
84+ body2 . setHardBlockedDown ( ) ;
85+ }
86+
87+ if ( body2 . isWorldBlockedUp ( ) )
88+ {
89+ body1 . setHardBlockedUp ( ) ;
90+ }
91+
4992 break ;
5093
5194 case CONST . FACING_DOWN :
95+
5296 body1 . setTouchingDown ( ) ;
5397 body2 . setTouchingUp ( ) ;
98+
5499 body1 . setBlockedDown ( ) ;
55100 body2 . setBlockedUp ( ) ;
101+
102+ if ( body1 . isWorldBlockedUp ( ) )
103+ {
104+ body2 . setHardBlockedUp ( ) ;
105+ }
106+
107+ if ( body2 . isWorldBlockedDown ( ) )
108+ {
109+ body1 . setHardBlockedDown ( ) ;
110+ }
111+
56112 break ;
57113 }
58114
115+ /*
59116 if (body1.isWorldBlockedLeft())
60117 {
61118 body2.setHardBlockedLeft();
@@ -91,6 +148,7 @@ var CheckOverlap = function (collisionInfo)
91148 {
92149 body1.setHardBlockedDown();
93150 }
151+ */
94152
95153 return collisionInfo . touching ;
96154} ;
0 commit comments