Guest User

Untitled

a guest
Apr 26th, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. public generateItemCollision(): void
  2. {
  3. const totalTiles = this._tiles.length;
  4.  
  5. if(!totalTiles) return;
  6.  
  7. for(let i = 0; i < totalTiles; i++)
  8. {
  9. const tile = this._tiles[i];
  10.  
  11. if(!tile) continue;
  12.  
  13. tile.clearItems();
  14. tile.tileHeight = tile.defaultHeight;
  15. }
  16.  
  17. const items = this._room.itemManager.items;
  18.  
  19. if(!items) return;
  20.  
  21. const totalItems = items.length;
  22.  
  23. if(!totalItems) return;
  24.  
  25. for(let i = 0; i < totalItems; i++)
  26. {
  27. const item = items[i];
  28.  
  29. if(!item) continue;
  30.  
  31. if(item.baseItem.type !== BaseItemType.FLOOR) continue;
  32.  
  33. const tile = item.getTile();
  34.  
  35. if(!tile) continue;
  36.  
  37. tile.addItem(item);
  38.  
  39. if(tile.tileHeight < item.height)
  40. {
  41. item.itemBelow = tile.highestItem;
  42. tile.tileHeight = item.height;
  43. tile.highestItem = item;
  44.  
  45. const affectedPositions = AffectedPositions.getPositions(item);
  46.  
  47. if(!affectedPositions) continue;
  48.  
  49. const totalPositions = affectedPositions.length;
  50.  
  51. if(!totalPositions) continue;
  52.  
  53. for(let j = 0; j < totalPositions; j++)
  54. {
  55. const position = affectedPositions[j];
  56.  
  57. if(!position) continue;
  58.  
  59. if(position.compare(item.position)) continue;
  60.  
  61. const affectedTile = this.getTile(position);
  62.  
  63. if(!affectedTile) continue;
  64.  
  65. if(affectedTile.highestItem)
  66. {
  67. if(affectedTile.walkingHeight > item.height) continue;
  68. }
  69.  
  70. affectedTile.tileHeight = item.height;
  71. affectedTile.highestItem = item;
  72. }
  73. }
  74. }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment