1. Application.h 코드에 있는 mGameObject제거
- 각 Scene에 GameObject를 넣어 씬에서 Object를 관리하도록 할 예정
2. 클래스 및 헤더파일 추가
- Entity, Scene, SceneManager 클래스 및 헤더 추가
3. Enetity 코드
- 구분용 이름이 필요하기 때문에 wstring mName을 추가
- Get할때는 복사가 되지 않도록 &를 이용해 참조 사용
4. Scene 코드
- Entity 클래스 상속
- 각 씬에서 Initialize, Update, LateUpdate, Render를 해야하므로 추가
- 각 씬에서 관리할 오브젝트를 받을 mGameObjects 변수 추가
- 이전 Application에서 mGameObjects관련하여 처리했던 부분을 Scene에서 처리
5. SceneManager코드
- CreateScene함수를 이용해 Scene을 상속받은 것을 생성할 수 있도록 함수 추가
- Scene을 불러올때 빠르게 불러오기 위해서 vector이 아닌 map을 이용하여 불러오도록 변경
- 사용하려는 Scene만 관리하기 위해 mActiveScene 변수 추가
- cpp파일에선 현재 사용중인 씬에 대한 처리만 추가
6. PlayScene, LoadScenes 파일 추가
- SOURCE쪽이 아닌 Engine쪽에 파일 추가
7. PlayScene코드
- Scene을 상속받는 PlayScene 클래스 추가
8. LoadScenes 코드
- LoadScene 함수를 이용해 PlayScene 생성
9. SceneManager에 LoadScene 함수 추가
- 현재 씬을 불러오기 위한 함수 추가
- 함수 추가 후 LoadScenes 클래스에 LoadScene추가
10. PlayScene 코드 추가
- 상속받고 있는 Scene에 있는 Update, LateUpdate, Render함수 실행
11. Scene 클래스
- 생성된 Gameobject 추가할 AddGameObject 추가
- 각 Update, LateUpdate, Render에 반복문을 이용해 GameObject에 함수들 실행
12. 각종 씬 클래스 추가
- EndScene, TitleScene 추가
13. 확인용 코드 수정
- EndScene 초기화 쪽 오브젝트 위치를 다른 씬과 다르게 500,500으로 설정
14. 결과
- 생성시 PlayScene과 EndScene위치가 다른 것 확인 가능
##############################################################
- 2.13 : Scene관련 코드 추가 진행중
- 2.17 : 생성된 Scene 처리 및 Scene에 생성된 오브젝트 처리 추가, 각종 씬 추가
##############################################################
'C++ > 유니티 엔진 모작(일시중지)' 카테고리의 다른 글
[유니티 엔진 제작] Vector2, GdiPlus (0) | 2025.02.18 |
---|---|
[유니티 엔진 제작] 컴퍼넌트 구조 (0) | 2025.02.17 |
[유니티 엔진 제작] GameObject 코드 개선 (0) | 2025.02.13 |
[유니티 엔진 제작] 더블 버퍼링 (0) | 2025.02.11 |
[유니티 엔진 제작] Time 클래스 (0) | 2025.02.10 |