posted by REDFORCE 2017. 4. 7. 13:27

#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