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)
{
}