CGameObject를 상속받는 모든 클래스들에 대해 복사 생성자를 설정해 준다.
- 상속 관계에 있는 경우, 복사 생성자에서 부모 클래스의 복사 생성자도 호출해 주어야 부모 클래스에 있는 변수들까지도 복사가 가능하므로 주의.
앞으로 만들 모든 CGameObject 상속 클래스들에 대해서도 동일하다.
나중에 유용하게 사용할 수 있다.
(CRef의 경우 지난 번에 만들었음 - 모르겠으면 이거 참고) - 마찬가지로, 모든 CGameObject 생성자에 SetTypeID<T>() 메소드를 돌려 주자.
매크로를 통해 이 과정을 자동으로 처리할 수도 있지만(언리얼 엔진이 이렇게 되어 있음)
아직은 배우는 단계이므로 하나하나 추가해 주자.
▼예시 - CCharacter의 상속을 받는 CPlayer의 생성자와 복사 생성자
더보기
CPlayer::CPlayer():
m_GunAngle(0.f),
m_GunLength(100.f)
{
SetType<CPlayer>();
}
CPlayer::CPlayer(const CPlayer& Obj):
CCharacter(Obj),
m_GunTipPos(Obj.m_GunTipPos),
m_GunAngle(Obj.m_GunAngle),
m_GunLength(Obj.m_GunAngle)
{
}
GameFrameworkStepbyStep_16_SetType, CopyConstructer.zip
1.42MB
'WIN32API FrameWork > 한단계씩 직접 구현' 카테고리의 다른 글
18. Input 입력 구조 설계 1 (0) | 2022.05.19 |
---|---|
17. Scene을 통한 최종 출력 (0) | 2022.05.18 |
15. 참조 카운트로 게임오브젝트 관리 (0) | 2022.05.18 |
14. 씬 Scene 구조 짜기 (0) | 2022.05.18 |
13. 참조 카운트(Reference Count), 공유 포인터(Shared Pointer) (0) | 2022.05.18 |