void State::Gameplay::render() { if(shouldSkip()) return; Game::get().getWindow().getContext().clearBuffers(GL::Context::BufferMask::Color_Depth); if(isMode2D()) { for(auto& sector : _map.getSectors()) _viewSector2D.render(sector); _viewWireframe2D.render(); } else { _pipeline.getStack().pushMatrix(_camera.getMatrix()); _pipeline.getStack().rotate(glm::radians(-90.0f), glm::vec3(1.0f, 0.0f, 0.0f)); _viewSector3D.resetTrianglesCount(); for(auto& sector : _map.getSectors()) _viewSector3D.render(sector); _viewWireframe3D.render(); _pipeline.getStack().popMatrix(); } }
void State::Gameplay::update(double frameTime) { static const double timeStep = 0.001; if(shouldSkip()) return; Util::TimeLoop::semiFixed(frameTime, timeStep, [&, this](double deltaTime) { if(isMode2D()) _mapController.update(deltaTime); else _camera.update(deltaTime); }); }
bool visit_functiondef(AST_FunctionDef* node) override { return shouldSkip(node); }
bool visit_lambda(AST_Lambda* node) override { return shouldSkip(node); }
bool visit_classdef(AST_ClassDef* node) override { return shouldSkip(node); }