use of org.terasology.nui.ControlWidget in project Terasology by MovingBlocks.
the class NUIManagerInternal method update.
@Override
public void update(float delta) {
canvas.processMousePosition(mouse.getPosition());
// modifying a collection while iterating of it is typically not supported
for (UIScreenLayer screen : new ArrayList<>(screens)) {
screen.update(delta);
}
for (ControlWidget widget : overlays.values()) {
widget.update(delta);
}
InputSystem inputSystem = context.get(InputSystem.class);
inputSystem.getMouseDevice().setGrabbed(inputSystem.isCapturingMouse() && !(this.isReleasingMouse()));
}
use of org.terasology.nui.ControlWidget in project Terasology by MovingBlocks.
the class NUIManagerInternal method render.
@Override
public void render() {
canvas.preRender();
Deque<UIScreenLayer> screensToRender = Queues.newArrayDeque();
for (UIScreenLayer layer : screens) {
screensToRender.push(layer);
if (!layer.isLowerLayerVisible()) {
break;
}
}
for (UIScreenLayer screen : screensToRender) {
canvas.drawWidget(screen, canvas.getRegion());
}
for (ControlWidget overlay : overlays.values()) {
canvas.drawWidget(overlay);
}
canvas.postRender();
}
Aggregations