VOX
A little voxel engine
Loading...
Searching...
No Matches
application.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "define.hpp"
4#include "window.hpp"
5#include "Settings.hpp"
6#include "ClientWorld.hpp"
7#include "RenderThread.hpp"
8#include "UpdateThread.hpp"
9#include "RenderAPI.hpp"
10#include "BlockUpdateThread.hpp"
11#include "NetworkThread.hpp"
12#include "Client.hpp"
13#include "SoundEngine.hpp"
14#include "EventManager.hpp"
15
16#include "Tracy.hpp"
17#include "tracy_globals.hpp"
18#include <chrono>
19
21{
22
23public:
24
25 Application(const int & player_id, const std::string & ip_address, const int & port);
27
28 void run();
29
30private:
31
32 std::chrono::nanoseconds m_start_time;
33
34 Client m_client;
35 Settings m_settings;
36 Window m_window;
37 RenderAPI m_render_api;
38 Event::Manager m_event_manager;
39 Sound::Engine m_sound_engine;
40 ClientWorld m_world;
41 RenderThread m_render_thread;
42 UpdateThread m_update_thread;
43 BlockUpdateThread m_block_update_thread;
44 NetworkThread m_network_thread;
45
46};
Definition: application.hpp:21
void run()
Definition: application.cpp:29
~Application()
Definition: application.cpp:24
An implementation of the thread wrapper for the thread that handles block updates.
Definition: BlockUpdateThread.hpp:21
Definition: ClientWorld.hpp:26
The Client side interface with the network module.
Definition: Client.hpp:37
Definition: EventManager.hpp:63
Definition: NetworkThread.hpp:15
Definition: RenderAPI.hpp:288
A wrapper for the thread that handles rendering.
Definition: RenderThread.hpp:30
Class to hold the settings of the application.
Definition: Settings.hpp:12
Definition: SoundEngine.hpp:42
Definition: UpdateThread.hpp:17
Definition: window.hpp:11