MovingProcedure
Moving procedure for a container from one stack to another
This version uses meshes from a list of possible (prepared) containers. There are no queues or industrial parts, only asset instances and their meshes.
This process knows the necessary GOIDs and the necessary config container names:
1. If the container to move is not the top container, break the task with error report
The error returned should lead into tasks to shift the disturbing containers to other stacks.
2. If the destination stack's top isn't free, break the task with error report
The error returned should lead into tasks to shift the disturbing container to other stacks or to change the destination or to cancel the task.
3. Move the crane parts to the container stack's top container to move
This movement is visualized by animations of the carne's parented parts bridge, trolley, lift, rotor, gear and hooked meshes (GOID of the container stack is known).
4. Hook the container to the gear
Get the texture id of the container to move (GOID and fitting soups of the container are known).
Set the texture of the fitting invisible mesh of the gear to the fitting texture.
Make the fitting mesh visible (Mesh config container name is known).
Make the top container's mesh invisible (GOID and config mesh name is known). Move the invisible top container to the destination stack's top (The GOID is known).
5. Move the crane parts to the container's destination stack's top free position
This movement is visualized by animations of the carne's parented parts bridge, trolley, lift, rotor, gear and hooked meshes (GOID of the container stack is known).
6. Dehook the container from the gear
Make the top container's mesh visible (GOID and config mesh name is known).
Make the fitting crane's mesh invisible (config container mesh name is known).