1
0
Fork 0
mirror of https://github.com/Ellpeck/MLEM.git synced 2024-06-06 14:53:37 +02:00

reverse y loop in GetCollidingTiles to account for gravity usually pointing down

This commit is contained in:
Ell 2021-03-07 20:45:00 +01:00
parent 053aaaf17c
commit f2df639f9e

View file

@ -83,12 +83,12 @@ namespace MLEM.Extended.Tiled {
public IEnumerable<TileCollisionInfo> GetCollidingTiles(RectangleF area, Func<TileCollisionInfo, bool> included = null) {
var inclusionFunc = included ?? (tile => tile.Collisions.Any(c => c.Intersects(area)));
var minX = Math.Max(0, area.Left.Floor());
var maxX = Math.Min(this.map.Width - 1, area.Right);
var maxX = Math.Min(this.map.Width - 1, area.Right.Floor());
var minY = Math.Max(0, area.Top.Floor());
var maxY = Math.Min(this.map.Height - 1, area.Bottom);
var maxY = Math.Min(this.map.Height - 1, area.Bottom.Floor());
for (var i = 0; i < this.map.TileLayers.Count; i++) {
for (var x = minX; x <= maxX; x++) {
for (var y = minY; y <= maxY; y++) {
for (var y = maxY; y >= minY; y--) {
var tile = this.collisionInfos[i, x, y];
if (tile == null)
continue;