Skip to content

Commit 51670f5

Browse files
committed
Lots of new World helpers
1 parent e64981c commit 51670f5

3 files changed

Lines changed: 160 additions & 30 deletions

File tree

v3/src/checksum.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
var CHECKSUM = {
2-
build: 'c897f920-8210-11e7-91c0-5f772e8c4462'
2+
build: '7d813d50-8217-11e7-b68c-d36461f65b44'
33
};
44
module.exports = CHECKSUM;

v3/src/physics/impact/CollisionMap.js

Lines changed: 23 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -110,16 +110,16 @@ var CollisionMap = new Class({
110110
prevTileX = -1;
111111
}
112112

113-
if (window.debugslopes)
114-
{
115-
console.group('VX');
116-
console.log('pxOffsetX', pxOffsetX);
117-
console.log('tileOffsetX', tileOffsetX);
118-
console.log('firstTileY', firstTileY);
119-
console.log('lastTileY', lastTileY);
120-
console.log('tileX', tileX);
121-
console.log('prevTileX', prevTileX);
122-
}
113+
// if (window.debugslopes)
114+
// {
115+
// console.group('VX');
116+
// console.log('pxOffsetX', pxOffsetX);
117+
// console.log('tileOffsetX', tileOffsetX);
118+
// console.log('firstTileY', firstTileY);
119+
// console.log('lastTileY', lastTileY);
120+
// console.log('tileX', tileX);
121+
// console.log('prevTileX', prevTileX);
122+
// }
123123

124124
if (tileX >= 0 && tileX < mapWidth)
125125
{
@@ -163,32 +163,26 @@ var CollisionMap = new Class({
163163
x = res.pos.x;
164164
rvx = 0;
165165

166-
if (window.debugslopes)
167-
{
168-
console.log('>>> Hit solid tile <<<');
166+
// if (window.debugslopes)
167+
// {
168+
// console.log('>>> Hit solid tile <<<');
169169

170-
console.log('tileX', tileX);
171-
console.log('tilesize', tilesize);
172-
console.log('pxOffsetX', pxOffsetX);
173-
console.log('tileOffsetX', tileOffsetX);
174-
console.log('=', res.pos.x);
175-
}
176-
177-
// 9 * 32 = 288
178-
// - 16 = 272
179-
// + 0 = 272
180-
181-
// Where does the 16 come from?
170+
// console.log('tileX', tileX);
171+
// console.log('tilesize', tilesize);
172+
// console.log('pxOffsetX', pxOffsetX);
173+
// console.log('tileOffsetX', tileOffsetX);
174+
// console.log('=', res.pos.x);
175+
// }
182176

183177
break;
184178
}
185179
}
186180
}
187181

188-
if (window.debugslopes)
189-
{
190-
console.groupEnd();
191-
}
182+
// if (window.debugslopes)
183+
// {
184+
// console.groupEnd();
185+
// }
192186
}
193187

194188
// Vertical

v3/src/physics/impact/World.js

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,142 @@ var World = new Class({
150150
// console.log('solve');
151151
Solver(this, bodyA, bodyB);
152152
}
153+
},
154+
155+
//////////////
156+
// Helpers //
157+
//////////////
158+
159+
setCollidesNever: function (bodies)
160+
{
161+
for (var i = 0; i < bodies.length; i++)
162+
{
163+
bodies[i].collides = COLLIDES.NEVER;
164+
}
165+
166+
return this;
167+
},
168+
169+
setLite: function (bodies)
170+
{
171+
for (var i = 0; i < bodies.length; i++)
172+
{
173+
bodies[i].collides = COLLIDES.LITE;
174+
}
175+
176+
return this;
177+
},
178+
179+
setPassive: function (bodies)
180+
{
181+
for (var i = 0; i < bodies.length; i++)
182+
{
183+
bodies[i].collides = COLLIDES.PASSIVE;
184+
}
185+
186+
return this;
187+
},
188+
189+
setActive: function (bodies)
190+
{
191+
for (var i = 0; i < bodies.length; i++)
192+
{
193+
bodies[i].collides = COLLIDES.ACTIVE;
194+
}
195+
196+
return this;
197+
},
198+
199+
setFixed: function (bodies)
200+
{
201+
for (var i = 0; i < bodies.length; i++)
202+
{
203+
bodies[i].collides = COLLIDES.FIXED;
204+
}
205+
206+
return this;
207+
},
208+
209+
setTypeNone: function (bodies)
210+
{
211+
for (var i = 0; i < bodies.length; i++)
212+
{
213+
bodies[i].type = TYPE.NONE;
214+
}
215+
216+
return this;
217+
},
218+
219+
setTypeA: function (bodies)
220+
{
221+
for (var i = 0; i < bodies.length; i++)
222+
{
223+
bodies[i].type = TYPE.A;
224+
}
225+
226+
return this;
227+
},
228+
229+
setTypeB: function (bodies)
230+
{
231+
for (var i = 0; i < bodies.length; i++)
232+
{
233+
bodies[i].type = TYPE.B;
234+
}
235+
236+
return this;
237+
},
238+
239+
setAvsB: function (bodies)
240+
{
241+
for (var i = 0; i < bodies.length; i++)
242+
{
243+
bodies[i].type = TYPE.A;
244+
bodies[i].checkAgainst = TYPE.B;
245+
}
246+
247+
return this;
248+
},
249+
250+
setBvsA: function (bodies)
251+
{
252+
for (var i = 0; i < bodies.length; i++)
253+
{
254+
bodies[i].type = TYPE.B;
255+
bodies[i].checkAgainst = TYPE.A;
256+
}
257+
258+
return this;
259+
},
260+
261+
setCheckAgainstNone: function (bodies)
262+
{
263+
for (var i = 0; i < bodies.length; i++)
264+
{
265+
bodies[i].checkAgainst = TYPE.NONE;
266+
}
267+
268+
return this;
269+
},
270+
271+
setCheckAgainstA: function (bodies)
272+
{
273+
for (var i = 0; i < bodies.length; i++)
274+
{
275+
bodies[i].checkAgainst = TYPE.A;
276+
}
277+
278+
return this;
279+
},
280+
281+
setCheckAgainstB: function (bodies)
282+
{
283+
for (var i = 0; i < bodies.length; i++)
284+
{
285+
bodies[i].checkAgainst = TYPE.B;
286+
}
287+
288+
return this;
153289
}
154290

155291
});

0 commit comments

Comments
 (0)