#pragma once #include "xe_engine.hpp" #include "keyboard_movement_controller.hpp" #include "simple_renderer.hpp" #include "chunk.hpp" #define GLM_FORCE_RADIANS #define GLM_FORCE_DEPTH_ZERO_TO_ONE #include #include #include #include #include #include #include namespace app { class FirstApp { public: FirstApp(); ~FirstApp(); FirstApp(const FirstApp &) = delete; FirstApp operator=(const FirstApp &) = delete; void run(); private: static constexpr int WIDTH = 800; static constexpr int HEIGHT = 600; static constexpr int RENDER_DISTANCE = 10; void createGameObjects(xe::GameObject& viewer); void reloadLoadedChunks(xe::GameObject& viewer); int viewX, viewZ; xe::Engine xeEngine; std::vector loadedChunks; }; }