#1. Engine System
+ WinMain - EngineSystem
+ EngineCore
+ EngineError
+ MainNode (현재 글)
#2. FrameWork
+ Grahpics
+ Image - SpriteData
+ Layer
+ Input
+ Game
+ Manager
+ Game Interface
+ Utility
#3. Testing Module
+ 2D Image Test
+ 2D Animation Test
+ Game UI Test
-----------------------------------------------------------------------
이번 글에서는 각 매니저나 게임 구동에 필요한 것들이 동작 될, 루트라 볼 수 있는
MainNode에 대해서 설명하겠습니다.
MainNode Class는 EngineSystem Class와 Game Class 에서의 중간다리 역할이라 할 수 있습니다.
헤더를 먼저 살펴보겠습니다.
헤더에서는 주요하게 볼 부분은 MainNode의 함수 구성이
initialize()
release()
update()
render()
로 나뉘어져 있다는 사실 입니다.
그리고 Engine의 프로시져로 받아오는 내용을 처리할 핸들러가 있습니다.
이어서 .cpp 를 보겠습니다.
cpp 는 헤더에 선언해두었던 각각의 함수 수행부가 구현되어 있습니다.
먼저 intiailize()에서는 게임에서 사용 하는 각각의 Manager들을 초기화 합니다.
코드상에 TIMEMANAGER와 FILEMANAGER가 주석처리 된 이유는
현재 사용하지 않기 때문이고, FILEMANAGER의 경우 EngineStart( ) 구역으로 빠져있습니다.
release() 는 매니저들에 대한 내용을 해지하는 것을 수행합니다.
두 번째로 update() 에서 SceneManager를 업데이트하여 현재 게임의 내용을 업데이트합니다.
이것이 수행되고 나면 SceneManager -> render()를 수행하여
그리기 작업을 수행하게 됩니다.
마지막에 있는 MessageHandler는 EngineRun()에서 전달되는 프로시져에서의 메세지 처리 핸들러 입니다.
키 입력에 대한 처리를 여기서 위와 같이 하게 됩니다.
'MyProject > SephyEngine' 카테고리의 다른 글
June_Engine #2_Graphics.cpp (1) (0) | 2017.04.15 |
---|---|
June_Engine #2_Graphics.h (0) | 2017.04.07 |
June_Engine #1_EngineError.h (0) | 2017.04.07 |
June_Engine #1_EngineCore.cpp (2) (0) | 2017.04.07 |
June_Engine #1_EngineCore.h (1) (0) | 2017.04.06 |