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 |