27 lines
574 B
Plaintext
27 lines
574 B
Plaintext
|
@startuml
|
||
|
|
||
|
start
|
||
|
:newTime = 0
|
||
|
totalTime = 0
|
||
|
isEnd = it == list.end()
|
||
|
lastTime = 0;
|
||
|
|
||
|
#tomato:if (!isEnd) then (not end)
|
||
|
#tomato:totalTime += it.getRelTicks();
|
||
|
endif
|
||
|
|
||
|
while ( !isEnd && (totalTime <= newTime) ) is (goForward)
|
||
|
:isEnd = (++it == list.end());
|
||
|
:lastTime = totalTime;
|
||
|
#tomato:if (!isEnd) then (not end)
|
||
|
#tomato:totalTime += it.getRelTicks();
|
||
|
endif
|
||
|
endwhile
|
||
|
|
||
|
#tomato:if (!isEnd) then (not end)
|
||
|
#tomato:subRelTicks(newTime- lastTime);
|
||
|
endif
|
||
|
:it.setRelTicks(newTime - lastTime);
|
||
|
:insert(it, newTimeout);
|
||
|
|
||
|
@enduml
|