Fling Engine  0.00.1
Fling Engine is a game engine written in Vulkan
Engine.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Platform.h"
4 #include "Logger.h"
5 #include "Timing.h"
6 #include "ResourceManager.h"
7 #include "Renderer.h"
8 #include "FlingConfig.h"
9 #include "NonCopyable.hpp"
10 #include "World.h"
11 #include <nlohmann/json.hpp>
12 
13 namespace Fling
14 {
19  class FLING_API Engine : public NonCopyable
20  {
21  public:
22 
23  Engine() = default;
24 
25  Engine(int argc, char* argv[]);
26 
27  ~Engine() = default;
28 
34  UINT64 Run();
35 
36  private:
37 
41  void Startup();
42 
46  void Tick();
47 
51  void Shutdown();
52 
53  int m_CmdLineArgCount = 0;
54  char** m_CmdLineArgs = nullptr;
55 
57  World* m_World = nullptr;
58  };
59 } // namespace Fling
uint64_t UINT64
Definition: FlingTypes.h:11
Core engine class of Fling.
Definition: Engine.h:19
The world holds all active levels in the game.
Definition: World.h:17
Class that removes the copy operator and constructor.
Definition: NonCopyable.hpp:10
Definition: Engine.h:13