개요

Managers
1. SceneManager : 씬(Unity의 그 씬, Unreal의 레벨)을 관리해주는 클래스 주 동작은 다음과 같다.
- CScene 클래스 타입으로 현재 씬과 다음에 불러올 씬을 관리해 준다. 씬 전환 기능 동작 시 Input 콜백 초기화가 함께 동작한다.
- Init(), Update(), PostUpdate(), Collision(), Render()로 현재 씬을 관리한다.
- 레벨 전환(ChangeScene()) 시 기존 씬을 제거하고 Input 매니저의 콜백 초기화와 씬 교체를 수행한다.
bool CSceneManager::ChangeScene()
{
if (m_NextScene)
{
// 기존 장면을 제거한다.
SAFE_DELETE(m_Scene);
CInput::GetInst()->ClearCallback();
// 생성되어 있는 다음 장면을 기존 장면으로 지정한다.
m_Scene = m_NextScene;
// 변수를 초기화한다.
m_NextScene = nullptr;
return true;
}
return false;
}
2. ResourceManager
- FMOD 관련 클래스들
- FMOD::System*
- ChannelGroup*
- std::unordered_map<std::string, FMOD::ChannelGroup*>
- std::unordered_map<std::string, CSharedPtr<CSound>>
- CTexture 클래스들, map으로 관리
- std::unordered_map<std::string, CSharedPtr<CTexture>>
- CAnimationSequence 클래스들, map으로 관리
- std::unordered_map<std::string, CSharedPtr <CAnimationsequence>>
- Font
- m_FontLoadList(폰트 목록)
- std::list<std::wstring>
- m_mapFont(실제 폰트 자료들)
- std::unordered_map<std::string, CSharedPtr<CFont>>
- m_FontLoadList(폰트 목록)
- PathManager
- 유니코드를 멀티바이트로 변환하는 기능
- 솔루션 루트 디렉토리에서부터 경로를 얻어와 문자열과 경로를 결합하여 보유
- CollisionManager
- 충돌 프로파일 생성 및 관리, 프로파일간 충돌 여부 설정(실제 충돌 검사는 다른 클래스에서 수행)
- Input
- 마우스와 키보드 입력 관리, 키보드 입력의 경우 GetAsyncKeyState를 이용하여 상태 관리
- GameManager
- 모든 매니저 초기화 및 DC 생성, 더블 버퍼용 백 버퍼 생성, 렌더 관장
- 초기화 후 무한 루프가 되는 로직 관리
- 타이머 업데이트
- 리소스 업데이트
- 입력 업데이트
- 씬 매니저의 업데이트, 포스트 업데이트, 충돌 업데이트, 렌더 수행
'포트폴리오 > Castlevania: Aria of Sorrow 모작' 카테고리의 다른 글
| [내용 정리] 1. 프로젝트 개요 (0) | 2025.05.28 |
|---|---|
| 211015~18 모작기록-5, 오브젝트의 계단 이동 (2) | 2021.10.19 |
| 211015 모작기록-4 Line 클래스 기반 충돌체 생성 (0) | 2021.10.16 |
| 211012 모작기록-3, 맵에 사용될 Line 클래스 작업 (0) | 2021.10.13 |
| 211010~11 모작기록-2, 끄적끄적 (0) | 2021.10.11 |