/** 
 * \file Turtle.h
 * \brief CTurtle class member functions implementation. CTurtle holds model's position and facing.
 * 
 * \author Petar Bajic, MPE (C) All Rights Reserved, Homepage: www.mystic-peanut.com
 * \date January, 16 2007.
 */

#include "d3dx9.h"
#include "Sound.h"
#include "XFileEntity.h"

#ifndef MPE_TURTLE_C
#define MPE_TURTLE_C

/**
 * \brief Turtle class.
 *
 * This class represent our hero - the turtle shepherd. It holds instance of animated turtle model - 
 * CXFileEntity, position, facing and state of turtle.
 * \author Petar Bajic \date January, 16 2007.
 */
class CTurtle
{
public:
	CTurtle::CTurtle();
	CTurtle::~CTurtle();

	bool Init(HWND hWnd, LPDIRECT3DDEVICE9 pd3dDevice);
	void OnFrameMove(LPDIRECT3DDEVICE9 pd3dDevice, float fElapsedTime, D3DXMATRIXA16* matWorld);
	void OnRender(LPDIRECT3DDEVICE9 pd3dDevice);
	void Restart();


	CXFileEntity*	m_Model;
	D3DXVECTOR3		m_Position;
	float			m_Facing;
	CSound*			m_Sound;
	bool			m_isRunning;
	bool			m_isIdle;
};

#endif //MPE_TURTLE_C