ID:863121
 
(See the best response by Zaoshi.)
I need a exact order of how Cross/Enter, Crossed/Entered, Uncross/Exit, Uncrossed/Exited

As to what I think the reference says, the correct order would(Logically) be
1.Cross
2.Crossed
and if the movement continues
3.Uncross
4.Uncrossed

But experimentally I have not found this true.
Code:
obj
Cross(atom/movable/O)
world<<"[O] tries to cross [src] -- ([world.time])"
Crossed(atom/movable/O)
world<<"[O] crossed [src] -- ([world.time])"
Uncross(atom/movable/O)
world<<"[O] tries to uncross [src] -- ([world.time])"
Uncrossed(atom/movable/O)
world<<"[O] uncrossed [src] -- ([world.time])"

Problem description:
Experimentally it goes like
1.Cross
2.Crossed
and if the movement continues
3.Uncrossed //?
4.Uncross

Compiling and running it gives the order as mentioned above..

I want to know whether 'that is how they are called' or because 'either of the operation is delayed/slept'!



Here is a Project to demonstrate what I mean.
Best response
Project seems to have two Uncross. If you change second into Uncrossed then it all makes sense.

Edit:
I seem to receive two Cross calls, but everything else calls just once.
Thanks.. for pointing out my silliness.