mirror of
				https://github.com/tobspr/shapez.io.git
				synced 2025-06-13 13:04:03 +00:00 
			
		
		
		
	Fix bug where belts in blueprints don't orient correctly.
This commit is contained in:
		
							parent
							
								
									969b7a74d4
								
							
						
					
					
						commit
						c7e0703c45
					
				| @ -176,6 +176,7 @@ export class Blueprint { | ||||
|     tryPlace(root, tile) { | ||||
|         return root.logic.performBulkOperation(() => { | ||||
|             let anyPlaced = false; | ||||
|             const beltsToRegisterLater = []; | ||||
|             for (let i = 0; i < this.entities.length; ++i) { | ||||
|                 let placeable = true; | ||||
|                 const entity = this.entities[i]; | ||||
| @ -215,10 +216,22 @@ export class Blueprint { | ||||
|                     clone.components.StaticMapEntity.origin.addInplace(tile); | ||||
| 
 | ||||
|                     root.map.placeStaticEntity(clone); | ||||
|                     root.entityMgr.registerEntity(clone); | ||||
| 
 | ||||
|                     // Registering a belt immediately triggers a recalculation of surrounding belt
 | ||||
|                     // directions, which is no good when not all belts have been placed. To resolve
 | ||||
|                     // this, only register belts after all entities have been placed.
 | ||||
|                     if (!clone.components.Belt) { | ||||
|                         root.entityMgr.registerEntity(clone); | ||||
|                     } else { | ||||
|                         beltsToRegisterLater.push(clone); | ||||
|                     } | ||||
|                     anyPlaced = true; | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             for (let i = 0; i < beltsToRegisterLater.length; i++) { | ||||
|                 root.entityMgr.registerEntity(beltsToRegisterLater[i]); | ||||
|             } | ||||
|             return anyPlaced; | ||||
|         }); | ||||
|     } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user