SlimeVoid / DynamicTransport

7 stars 7 forks source link

Possibility to implement Tree Transport system #42

Open Tarig0 opened 9 years ago

Tarig0 commented 9 years ago

This will use a specific mapping system to help designate routes between two nodes.

To create a tree a user will be able to right click on a node with a child already bound to it.

Children will be stored in a deterministic position array.

0 = base 1 = branch 0 2 = branch 1 ...

each node will be given a stop ID of the following rules.

Base pos, (branch, pos), (branch,pos)... This can be store as an arraylist of integer or string

for example

0-1-1-3-4 = position five on the fourth branch of parent 0-1-1 which is the second position on the second branch of parent 0 which is the base.

This can be used to map the route from one pos to another with only knowledge about the current pos and destination.

example

no shared parent 5-1-5 -> 3-3-1-6-4

5-1-5 -> 5-1-4 -> 5-1-3 -> 5-1-2 -> 5-1-1 -> 5-1-0 -> 5 -> 4 -> 3 -> 3-3-0 -> 3-3-1 -> 3-3-1-6-0 -> 3-3-1-6-1 -> 3-3-1-6-2 -> 3-3-1-6-3 -> 3-3-1-6-4

Shared parent 2-3-4-1-0 -> 2-3-4-6-3

2-3-4-1-0 -> 2-3-4 -> 2-3-4-6-0 -> 2-3-4-6-1 -> 2-3-4-6-2 -> 2-3-4-6-3

is parent 2-4-5-1-0 -> 2

2-4-5-1-0 -> 2-4-5 -> 2-4-4 -> 2-4-3 -> 2-4-2 -> 2-4-1 -> 2-4-0 -> 2