Longer description:
- In columns we have "basic build direction"
- belts are built straigt with build direction
- underground belts have hidden variable, "underground build in progress, flip direction for exit" that selects between second and third row
First building direction is north
- ub-step-0.png (85.39 KiB) Viewed 3429 times
Then he builds underground up
- ub-step-1.png (88.27 KiB) Viewed 3429 times
- ub-step-2.png (91.08 KiB) Viewed 3429 times
but then overdrags, and this sets hidden variable "underground build in progress; flip"
- ub-step-3.png (95.38 KiB) Viewed 3429 times
removing not shown here because it does not change anything.
To compensate for flipped direction, he rotates twice to restore underground build direction
- ub-step-4.png (95.4 KiB) Viewed 3429 times
With this he builds second underground path. This is odd, becuase entrance is built when hidden variable "build in progress" is set, so formally he places exit, but it is drawn with belt going into
- ub-step-5.png (96.11 KiB) Viewed 3429 times
Second part of underground is built with hidden variable "build in progress" reset, so formally he builds underground entrance, but it is drawn with belt going out because it connects with other underground part
- ub-step-6.png (97.5 KiB) Viewed 3429 times
Then he changes to belts, but he has his basic build direction rotated and belts are opposite direction
- ub-step-7.png (94.08 KiB) Viewed 3429 times
Possible solutions:
- reset hidden variable "build in progress" when changing from underground or to underground. This may be not effective if he removes overdragged underground and removed it without switching to belts. This would require resetting this flag also when deconstructing underground (or maybe when manually rotating)
- instead of hidden variable, just use "build direction": every underground flip build direction, so after dragging, build direction would be south so when he compensates for underground being in opposite direction, he would fix belt direction himself
-- edit:
best solution i can find is to not affect build director nor use hidden variable. If player is placing belts in north direction, undergrounds should be always shown as north-entrance except if underground in opposite direction would connect with existing underground-entrance (not if other part is underground-exit pointing south as this would mess with intended north build direction - only entrance below that is same direction as "build direction").
This way:
- after overdragging, placed underground would not affect player state in any way. This would prevent anti to compensate for flipped underground in first place so undeground entrance in second lane would be oriented properly
- normal dragging would still work as all intermediate tiles also connect to underground entrance and can be used for dragging logic
- it would allow horizontal drawing: building north it would be possible to place many underground entrances left to right and then finish all of this by placing exits above, for example from right to left
- it could be used to seamlessly tap underground belts: having blue underground going north[map], when having underground with north direction[cursor] and building within existing underground belt, cursor would first show underground exit and moving cursor up, it would switch back to underground entrance