Incremental Engine  1.0.6
A 2D Game Engine to create Idle Games
IncrementalEngine::Engine Class Reference

#include <MainEngine.h>

Public Member Functions

 Engine ()
 
virtual ~Engine ()
 
void Run (EngineGame *game)
 
void Close ()
 
void SetIcon (LPCWSTR icon)
 
SceneManagerScene ()
 
ResourcesManagerResources ()
 
InputManagerInput ()
 
SoundEngineAudio ()
 
SaveSystemStorage ()
 

Static Public Member Functions

static EngineGet ()
 

Private Member Functions

void Init ()
 
void Update (float dt)
 
void Draw ()
 
void DeInit ()
 

Private Attributes

RenderingEngine_renderingEngine
 
RenderWindow_renderWindow
 
InputManager_inputManager
 
SoundEngine_soundEngine
 
SceneManager_sceneManager
 
ResourcesManager_resourcesManager
 
SaveSystem_saveSystem
 
Config _config
 
bool _open
 

Static Private Attributes

static EngineENGINE_INSTANCE = nullptr
 

Detailed Description

Definition at line 20 of file MainEngine.h.

Constructor & Destructor Documentation

◆ Engine()

IncrementalEngine::Engine::Engine ( )

Definition at line 24 of file MainEngine.cpp.

24  :
25  _renderingEngine(NULL),
26  _renderWindow(NULL),
27  _inputManager(NULL),
28  _soundEngine(NULL),
29  _sceneManager(NULL),
30  _resourcesManager(NULL),
31  _saveSystem(NULL),
32  _config(Config()),
33  _open(true)
34  {
35  }

◆ ~Engine()

IncrementalEngine::Engine::~Engine ( )
virtual

Definition at line 37 of file MainEngine.cpp.

38  {
39  if (ENGINE_INSTANCE == this)
40  {
41  ENGINE_INSTANCE = nullptr;
42  }
43  }

Member Function Documentation

◆ Audio()

SoundEngine * IncrementalEngine::Engine::Audio ( )

Definition at line 164 of file MainEngine.cpp.

165  {
166  return _soundEngine;
167  }

◆ Close()

void IncrementalEngine::Engine::Close ( )

Definition at line 144 of file MainEngine.cpp.

145  {
146  _open = false;
147  }

◆ DeInit()

void IncrementalEngine::Engine::DeInit ( )
private

Definition at line 131 of file MainEngine.cpp.

132  {
134 
135  CHECKED_DELETE(_saveSystem);
136  CHECKED_DELETE(_resourcesManager);
137  CHECKED_DELETE(_sceneManager);
138  CHECKED_DELETE(_soundEngine);
139  CHECKED_DELETE(_renderingEngine);
140  CHECKED_DELETE(_renderWindow);
141  CHECKED_DELETE(_inputManager);
142  }

◆ Draw()

void IncrementalEngine::Engine::Draw ( )
private

Definition at line 126 of file MainEngine.cpp.

127  {
129  }

◆ Get()

Engine * IncrementalEngine::Engine::Get ( )
static

Definition at line 14 of file MainEngine.cpp.

15  {
16  if (ENGINE_INSTANCE == nullptr)
17  {
18  ENGINE_INSTANCE = new Engine;
19  }
20 
21  return ENGINE_INSTANCE;
22  }

◆ Init()

void IncrementalEngine::Engine::Init ( )
private

Definition at line 73 of file MainEngine.cpp.

74  {
75  _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
76 
77  HRESULT result;
78 
79  _inputManager = new InputManager;
80  _renderWindow = new RenderWindow(_config);
81  result = _inputManager->Init(_renderWindow);
82 
83  if (FAILED(result))
84  {
85  MessageBox(_renderWindow->GetHWND(), L"Could not initialize InputManager.", L"Error", MB_OK);
86  return;
87  }
88 
89  _renderingEngine = new RenderingEngine(_config);
91 
92  if (FAILED(result))
93  {
94  MessageBox(_renderWindow->GetHWND(), L"Could not initialize RenderingEngine.", L"Error", MB_OK);
95  return;
96  }
97 
99  _sceneManager = new SceneManager(
102  direct3D->GetDevice()
103  );
104 
105  _soundEngine = new SoundEngine;
106 
107  _resourcesManager = new ResourcesManager;
108  result = _resourcesManager->Load();
109 
110  _saveSystem = new SaveSystem;
111 
112  if (FAILED(result))
113  {
114  MessageBox(_renderWindow->GetHWND(), _resourcesManager->Error, L"Error", MB_OK);
115  return;
116  }
117  }

◆ Input()

InputManager * IncrementalEngine::Engine::Input ( )

Definition at line 169 of file MainEngine.cpp.

170  {
171  return _inputManager;
172  }

◆ Resources()

ResourcesManager * IncrementalEngine::Engine::Resources ( )

Definition at line 159 of file MainEngine.cpp.

160  {
161  return _resourcesManager;
162  }

◆ Run()

void IncrementalEngine::Engine::Run ( EngineGame game)

Definition at line 45 of file MainEngine.cpp.

46  {
47  Init();
48  game->Init();
49 
50  MSG msg;
51  ZeroMemory(&msg, sizeof(msg));
52 
53  while (msg.message != WM_QUIT && _open)
54  {
55  if (PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE))
56  {
57  TranslateMessage(&msg);
58  DispatchMessage(&msg);
59  }
60  else
61  {
62  Update(float(DELTA_SECONDS));
63  game->Update(float(DELTA_SECONDS));
64 
65  Draw();
66  }
67  }
68 
69  game->DeInit();
70  DeInit();
71  }

◆ Scene()

SceneManager * IncrementalEngine::Engine::Scene ( )

Definition at line 154 of file MainEngine.cpp.

155  {
156  return _sceneManager;
157  }

◆ SetIcon()

void IncrementalEngine::Engine::SetIcon ( LPCWSTR  icon)

Definition at line 149 of file MainEngine.cpp.

150  {
151  _renderWindow->SetIcon(icon);
152  }

◆ Storage()

SaveSystem * IncrementalEngine::Engine::Storage ( )

Definition at line 174 of file MainEngine.cpp.

175  {
176  return _saveSystem;
177  }

◆ Update()

void IncrementalEngine::Engine::Update ( float  dt)
private

Definition at line 119 of file MainEngine.cpp.

120  {
123  _sceneManager->Update(dt);
124  }

Member Data Documentation

◆ _config

Config IncrementalEngine::Engine::_config
private

Definition at line 50 of file MainEngine.h.

◆ _inputManager

InputManager* IncrementalEngine::Engine::_inputManager
private

Definition at line 44 of file MainEngine.h.

◆ _open

bool IncrementalEngine::Engine::_open
private

Definition at line 51 of file MainEngine.h.

◆ _renderingEngine

RenderingEngine* IncrementalEngine::Engine::_renderingEngine
private

Definition at line 42 of file MainEngine.h.

◆ _renderWindow

RenderWindow* IncrementalEngine::Engine::_renderWindow
private

Definition at line 43 of file MainEngine.h.

◆ _resourcesManager

ResourcesManager* IncrementalEngine::Engine::_resourcesManager
private

Definition at line 47 of file MainEngine.h.

◆ _saveSystem

SaveSystem* IncrementalEngine::Engine::_saveSystem
private

Definition at line 48 of file MainEngine.h.

◆ _sceneManager

SceneManager* IncrementalEngine::Engine::_sceneManager
private

Definition at line 46 of file MainEngine.h.

◆ _soundEngine

SoundEngine* IncrementalEngine::Engine::_soundEngine
private

Definition at line 45 of file MainEngine.h.

◆ ENGINE_INSTANCE

Engine * IncrementalEngine::Engine::ENGINE_INSTANCE = nullptr
staticprivate

Definition at line 40 of file MainEngine.h.

IncrementalEngine::Engine::ENGINE_INSTANCE
static Engine * ENGINE_INSTANCE
Definition: MainEngine.h:40
IncrementalEngine::RenderWindow::SetIcon
void SetIcon(LPCWSTR icon)
Definition: RenderWindow.cpp:135
IncrementalEngine::InputManager::Init
HRESULT Init(RenderWindow *renderWindow)
Definition: InputManager.cpp:18
IncrementalEngine::Engine::_soundEngine
SoundEngine * _soundEngine
Definition: MainEngine.h:45
IncrementalEngine::Engine::Update
void Update(float dt)
Definition: MainEngine.cpp:119
IncrementalEngine::Engine::_sceneManager
SceneManager * _sceneManager
Definition: MainEngine.h:46
IncrementalEngine::RenderingEngine::Draw
HRESULT Draw(Drawable *target)
Definition: RenderingEngine.cpp:68
IncrementalEngine::Engine::_config
Config _config
Definition: MainEngine.h:50
IncrementalEngine::Engine::Engine
Engine()
Definition: MainEngine.cpp:24
IncrementalEngine::ResourcesManager::Load
HRESULT Load()
Definition: Resources.cpp:20
IncrementalEngine::Engine::_saveSystem
SaveSystem * _saveSystem
Definition: MainEngine.h:48
IncrementalEngine::RenderingEngine::GetDirect3DImplementation
D3DImplementation * GetDirect3DImplementation()
Definition: RenderingEngine.cpp:99
IncrementalEngine::Engine::_open
bool _open
Definition: MainEngine.h:51
IncrementalEngine::SceneManager::Update
void Update(float dt)
Definition: Scene.cpp:55
IncrementalEngine::Engine::Draw
void Draw()
Definition: MainEngine.cpp:126
IncrementalEngine::Engine::_inputManager
InputManager * _inputManager
Definition: MainEngine.h:44
IncrementalEngine::Engine::Init
void Init()
Definition: MainEngine.cpp:73
IncrementalEngine::Engine::_renderingEngine
RenderingEngine * _renderingEngine
Definition: MainEngine.h:42
IncrementalEngine::ResourcesManager::Error
LPCWSTR Error
Definition: Resources.h:21
IncrementalEngine::RenderingEngine::Update
void Update(float dt)
Definition: RenderingEngine.cpp:64
IncrementalEngine::RenderingEngine::GetShaderManager
ShaderManager * GetShaderManager()
Definition: RenderingEngine.cpp:111
IncrementalEngine::InputManager::Update
HRESULT Update()
Definition: InputManager.cpp:26
IncrementalEngine::FontFactory::Release
static void Release()
Definition: FontFactory.cpp:23
IncrementalEngine::Engine::_renderWindow
RenderWindow * _renderWindow
Definition: MainEngine.h:43
IncrementalEngine::Engine::_resourcesManager
ResourcesManager * _resourcesManager
Definition: MainEngine.h:47
IncrementalEngine::RenderingEngine::Init
HRESULT Init(RenderWindow *renderWindow)
Definition: RenderingEngine.cpp:22
IncrementalEngine::RenderWindow::GetHWND
HWND GetHWND()
Definition: RenderWindow.cpp:105
IncrementalEngine::Engine::DeInit
void DeInit()
Definition: MainEngine.cpp:131