summaryrefslogtreecommitdiff
path: root/Source/Asura.Engine/Application.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-03-04 08:59:21 +0800
committerchai <chaifix@163.com>2019-03-04 08:59:21 +0800
commitc19a282e10f51ddd50d198b903f8fbd5a2238b62 (patch)
tree407cfda6ec917a86135153915a924e38f76c0553 /Source/Asura.Engine/Application.cpp
parente1472104af014df0e8598f1a3f9b2496b683d6bb (diff)
*misc
Diffstat (limited to 'Source/Asura.Engine/Application.cpp')
-rw-r--r--Source/Asura.Engine/Application.cpp29
1 files changed, 18 insertions, 11 deletions
diff --git a/Source/Asura.Engine/Application.cpp b/Source/Asura.Engine/Application.cpp
index ba5feaa..59f5aae 100644
--- a/Source/Asura.Engine/Application.cpp
+++ b/Source/Asura.Engine/Application.cpp
@@ -1,4 +1,6 @@
#include "Application.h"
+#include "Sdl2/SDL.h"
+#include "Exceptions/Exception.h"
namespace AsuraEngine
{
@@ -13,18 +15,23 @@ namespace AsuraEngine
}
- bool InitGraphics(bool init)
+ bool Application::Application::InitSubModules(uint flag)
{
- if (!init) return true;
-
- }
+ // ʼģ
+ #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);
- bool Application::Init(int flag)
- {
- if (!InitGraphics(flag & ASURA_MODULE_GRAPHICS))
- {
-
- }
+
}
-}
+} \ No newline at end of file