/*********************************************************************//**
*	\brief Bodove svetlo.
*	Tohle je objekt, ktery definuje svetelny zdroj.
*	
*	\author Michal Jirous
*	\date 23.04.2009
*	\file ent_items.h
**********************************************************************/

#ifndef __LIGHT_H__
#define __LIGHT_H__

#include "ent_environments.h"

#define INITIALY_DARK 1

enum light_styles
{
	LS_NORMAL = 0,
	LS_PULSE_LINEAR_SLOW,
	LS_PULSE_LINEAR_NORMAL,
	LS_PULSE_LINEAR_FAST,
	LS_STROBE_RARELY,
	LS_STROBE_OCCASIONALLY,
	LS_STROBE_OFTEN

};



class Light : public CBaseEnvironment
{
	bool m_bStore_IsOn;
	bool m_bIsOn;
	int m_iType;
	int m_iStyleNum;
	int m_iData;
	float m_fValue, m_fMaxValue, m_fMinValue, m_fStep;
	float m_Store_Color[4];
	float m_Color[4];	//RGBA
	virtual void passFlags( int flags );
	virtual void passStoredEvent( BackTimeData &backData );
public:
	Light();
	GLfloat *getColor()	{ return m_Color; }
	void setGlColor();
	int getStyleNum()	{ return m_iStyleNum; }
	bool isOn()	{ return m_bIsOn; }
	virtual void restart();
	virtual void goBackInTime();
	
	virtual void onTarget( int target_type );	//vypnuti
	virtual void setParameters( parameters_t &parametersMap );
	virtual void update( float seconds );

};



LINK_ENTITY_TO_CLASS( light, Light );


#endif /*__LIGHT_H__*/

