#ifndef PSBLOBSYSTEM_H
#define PSBLOBSYSTEM_H

#include"fxsystem.h"
#include "hud.h"
#include "cl_util.h"
#include "const.h"
#include "pm_shared.h"
#include "pmtrace.h"
#include "pm_defs.h"
#include "event_api.h"
#include "util_vector.h"
/**
 * System to draw ps energy 'blobs' traveling from the beam start to the beam head.
 */
class PSBlobSystem : public FXSystem
{
public:	
	PSBlobSystem(int id, int type, int dmg, int speed);
	/**
	 * Draws the fx
	 */
	void draw();
	
	/**
	 * Updates the physics for all particles in the system
	 * @param timeDiff time difference since last draw
	 */	
	void think(float time);	
private:
	vec3_t m_vecPos;
	vec3_t m_vecStart;
	vec3_t m_vecDir;
	int m_iSpeed;
	float m_flStartTime;
	beam m_head;
};

#endif