// Author : Chris Tolley
// Date   : 7/21/2004
// SurvivalCamera.h contains the class declaration for a camera to use
// in the game Survival

#if !defined(AFX_SURVIVALCAMERA_H__074A0762_4037_48F9_AF81_907161C32487__INCLUDED_)
#define AFX_SURVIVALCAMERA_H__074A0762_4037_48F9_AF81_907161C32487__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// Forward class declarations
class CInputSystem;
class quadTreeTerrain;

class SurvivalCamera  
{
public:
	// Default Constructor
	SurvivalCamera();

	// Destructor
	virtual ~SurvivalCamera();

	// Sets the input system and the terrain
	void Initialize( CInputSystem* input, quadTreeTerrain* terrain );

	// Updates the camera
	void Update();

	// Stores the center of the scene in x,y,z
	inline void GetCenter( float& x, float& y, float& z )
	{ x = m_fCenter[0]; y = m_fCenter[1]; z = m_fCenter[2] + 30; };
private:
	// The center of the picture
	float m_fCenter[3];

	// The distance away from the terrain along the Y axis
	float m_fYOff;

	// The input system this camera is based on
	CInputSystem* m_Input;

	// The terrain that this camera is used to look over
	quadTreeTerrain* m_qtTerrain;
};

#endif // !defined(AFX_SURVIVALCAMERA_H__074A0762_4037_48F9_AF81_907161C32487__INCLUDED_)
