From c19a282e10f51ddd50d198b903f8fbd5a2238b62 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 4 Mar 2019 08:59:21 +0800 Subject: *misc --- Source/Asura.Engine/Application.cpp | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'Source/Asura.Engine/Application.cpp') 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 -- cgit v1.1-26-g67d0