/*********************************************************************//**
*	\brief Creatures
*	Abstraktni trida definuje entity, ktere lze povazovat za bytosti:
*		- hrac a monstra
*	
*	\author Michal Jirous
*	\date 23.04.2009
*	\file ent_creatures.h
**********************************************************************/

#ifndef __CREATURES_H__
#define __CREATURES_H__

#include "ent_basephysics.h"



class Creatures : public CBasePhysics
{
protected:
	int m_iHealth;
	int m_iMaxHealth;
	bool m_bIsDeath;
	virtual void passStoredEvent( BackTimeData &backData );
public:
	Creatures();

	virtual void onAttack( const AttackInfo &attackInfo );
	virtual void goBackInTime();

	void setHealth( int hlt );
	int getHealth() { return m_iHealth; }
	virtual void restart();
	virtual void die();
	virtual bool collisionDetection( CollisionData &collData );
	virtual bool rayTrace(  RayTraceData &rayData );
	bool isDeath()	{ return m_bIsDeath;	}
	virtual Point getRenderOrigin() { return Point( m_InterpolatedPosition.current.x, m_InterpolatedPosition.current.y, m_InterpolatedPosition.current.z - 8.0f ); }
};


#endif /*__CREATURES_H__*/
