//

//CParticleManager.h


/*******************************************************
//
//	Name: CParticleManager.h
//
//	Author: Dave Ratti
//
//	Date:7-8-01
//
//	Modified: 7-8-01
//
//	Notes: Manages particles
//
//
//
//
//
*********************************************************/

#ifndef CPARTICLEMANAGER_H_
#define CPARTICLEMANAGER_H_

#include "stringc.h"
#include "CParticle.h"
#include "Singleton.h"

///////////////////////////////////////////////

#define MaxParticles 500


///////////////////////////////////////////////


#define g_ParticleManager CParticleManager::GetSingleton()


class CParticleManager: public Singleton <CParticleManager>
{

public :

	CParticleManager(){ }
	~CParticleManager(){ }

	void Init();
	void ShutDown();

	void Draw();
	void Update();

	CParticle Particles[MaxParticles];

	//particle routines

	//void CreateEventFromFile(int x, int y, int z, STRINGC File);

	void CreateExplosion(int x, int y, STRINGC File);	
	void CreateFizzle(int x, int y);
	void Create4WayExplosion(int x, int y, int magnitude);
	void Create1WayExplosion(int x, int y, int magnitude, int xv, int yv);
	

	
protected:

	int getNextParticleIndex();
	

};

#endif