summaryrefslogtreecommitdiff
path: root/Source/Asura.Engine/Application.cpp
blob: 59f5aaecf2bd4a88d636d28172000ad927d37f19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "Application.h"
#include "Sdl2/SDL.h"
#include "Exceptions/Exception.h"

namespace AsuraEngine
{

	Application::Application()
	{

	}

	Application::~Application()
	{

	}

	bool Application::Application::InitSubModules(uint flag)
	{
		// ʼģ
	#define TryInitSubModule(module_name, func_name) \
		if((flag&ASURA_MODULE_##module_name) && !Application::Init##func_name()) \
			throw Exception("Asura init submodule %s failed.", #module_name);

		TryInitSubModule(GRAPHICS, Graphics);
		TryInitSubModule(AUDIO, Audio);
		TryInitSubModule(FONT, Font);
		TryInitSubModule(INPUT, Input);
		TryInitSubModule(MATH, Math);
		TryInitSubModule(PHYSICS, Physics);
		TryInitSubModule(TIME, Time);
		TryInitSubModule(WINDOW, Window);

		
	}

}