/*********************************************************************//**
*	\brief Zvuk efekt.
*	Umisti do sceny zvuk.
*	
*	\author Michal Jirous
*	\date 23.04.2009
*	\file ent_env_sound.h
**********************************************************************/

#ifndef __ENV_SOUND_H__
#define __ENV_SOUND_H__

#include "ent_environments.h"
#include "soundslib.h"

#define START_SILENT	1
#define LOOPING			2
#define HEAR_EVERYWHERE	4



class EnvSound : public CBaseEnvironment
{
	std::string m_sSoundFileName;
	SoundElement m_Sound;
	float m_fRadius;
	float m_fVolume;
	bool m_bHearEveryWhere;
	bool m_bIsLooping;
	bool m_bStore_IsOn, m_bIsOn;
	virtual void passFlags( int flags );
	Uint32 m_FadeStartTime;
	bool m_bIsPlaying;
	void myLoopPlay();
	Uint32 m_uiFadeIn, m_uiFadeOut;
public:
	EnvSound();
	virtual void compile();
	virtual void setParameters( parameters_t &parametersMap );
	virtual void onTarget( int target_type );
	virtual void restart();
	virtual void decompile();
	virtual void goBackInTime();
	virtual void update( float seconds );
};

LINK_ENTITY_TO_CLASS( env_sound, EnvSound );

#endif /*__ENV_SOUND_H__*/
