Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public generateItemCollision(): void
- {
- const totalTiles = this._tiles.length;
- if(!totalTiles) return;
- for(let i = 0; i < totalTiles; i++)
- {
- const tile = this._tiles[i];
- if(!tile) continue;
- tile.clearItems();
- tile.tileHeight = tile.defaultHeight;
- }
- const items = this._room.itemManager.items;
- if(!items) return;
- const totalItems = items.length;
- if(!totalItems) return;
- for(let i = 0; i < totalItems; i++)
- {
- const item = items[i];
- if(!item) continue;
- if(item.baseItem.type !== BaseItemType.FLOOR) continue;
- const tile = item.getTile();
- if(!tile) continue;
- tile.addItem(item);
- if(tile.tileHeight < item.height)
- {
- item.itemBelow = tile.highestItem;
- tile.tileHeight = item.height;
- tile.highestItem = item;
- const affectedPositions = AffectedPositions.getPositions(item);
- if(!affectedPositions) continue;
- const totalPositions = affectedPositions.length;
- if(!totalPositions) continue;
- for(let j = 0; j < totalPositions; j++)
- {
- const position = affectedPositions[j];
- if(!position) continue;
- if(position.compare(item.position)) continue;
- const affectedTile = this.getTile(position);
- if(!affectedTile) continue;
- if(affectedTile.highestItem)
- {
- if(affectedTile.walkingHeight > item.height) continue;
- }
- affectedTile.tileHeight = item.height;
- affectedTile.highestItem = item;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment