WIN32API FrameWork/원본
220502_WIN32API_Framework_3_GameObject 상속 구조 짜기
hyrule
2022. 5. 4. 16:00


* 간단히 구조만 설계하는 단계.
//Class CGameObject
//GameObject.h
#pragma once
//Include/GameObject/GameObject.h -> Include/GameInfo.h 이므로
#include "../GameInfo.h"
/*
* 게임오브젝트: 상속구조로 설계할 예정.
게임오브젝트 - 캐릭터 - 플레이어 - 나이트
- 아처
- 매지션
- ...
- NPC - ...
- ...
- 몬스터 -
- 아이템
*/
/*
* 앞으로는 클래스가 매우 많아질 거라 추가적인 정리정돈이 필요하다.
- GameObject 폴더를 만들어서 GameObject 관련 클래스들은 GameObject 폴더 안에 생성되게 할 예정
- Include 폴더 안으로 들어가서 GameObject 폴더를 생성한 뒤, 관련 클래스를 만들 때
- 클래스 cpp와 헤더의 이름 앞에 GameObject/를 붙여준다.
*/
class CGameObject
{
public:
CGameObject();
//상속할 것이므로 가상함수로 소멸자 선언
virtual ~CGameObject();
public:
virtual bool Init();
virtual void Update(float Deltatime);
virtual void Render(float Deltatime);
//충돌 함수는 별도로 구현할 것이므로 만들지 않을 것임.
//virtual void Collision();
};
//Class CGameObject
//GameObject.cpp
#include "GameObject.h"
CGameObject::CGameObject()
{
}
CGameObject::~CGameObject()
{
}
bool CGameObject::Init()
{
return true;
}
void CGameObject::Update(float Deltatime)
{
}
void CGameObject::Render(float Deltatime)
{
}
//Class CCharacter: public CGameObject
//Character.h
#pragma once
#include "GameObject.h"
class CCharacter :
public CGameObject
{
public:
CCharacter();
//상속할 것이므로 가상함수로 소멸자 선언
virtual ~CCharacter();
public:
virtual bool Init();
virtual void Update(float Deltatime);
virtual void Render(float Deltatime);
//충돌 함수는 별도로 구현할 것이므로 만들지 않을 것임.
//virtual void Collision();
};
//Class CCharacter: public CGameObject
//Character.cpp
#include "Character.h"
CCharacter::CCharacter()
{
}
CCharacter::~CCharacter()
{
}
bool CCharacter::Init()
{
return true;
}
void CCharacter::Update(float Deltatime)
{
}
void CCharacter::Render(float Deltatime)
{
}
//Class Cplayer: public CCharacter
//Player.h
#pragma once
#include "Character.h"
class CPlayer :
public CCharacter
{
public:
CPlayer();
//상속할 것이므로 가상함수로 소멸자 선언
virtual ~CPlayer();
public:
virtual bool Init();
virtual void Update(float Deltatime);
virtual void Render(float Deltatime);
//충돌 함수는 별도로 구현할 것이므로 만들지 않을 것임.
//virtual void Collision();
};
//Class Cplayer: public CCharacter
//Player.cpp
#include "Player.h"
CPlayer::CPlayer()
{
}
CPlayer::~CPlayer()
{
}
bool CPlayer::Init()
{
return true;
}
void CPlayer::Update(float Deltatime)
{
}
void CPlayer::Render(float Deltatime)
{
}