//////////////////////////////////////////////////////////////////////////////
//
// Asura_PFX_Classes.h
//
// Copyright (c) 2005 Rebellion. All rights reserved.
//
// Description:
//
//     PFX classes used by core CPU code and also by PS3's SPU code. 
//
//////////////////////////////////////////////////////////////////////////////

// B E G I N   F I L E   W R A P P E R ///////////////////////////////////////

#ifdef ASURA_USE_PRAGMA_ONCE
    #pragma once
#endif

#ifndef ___ASURA_PFX_CLASSES_H___
#define ___ASURA_PFX_CLASSES_H___ 1

// I N C L U D E S ///////////////////////////////////////////////////////////
#include "Core/Asura_Maths.h"

// F O R W A R D   D E C L A R A T I O N S ///////////////////////////////////
class Asura_Animation;

// C L A S S E S /////////////////////////////////////////////////////////////

/// Asura_PFX_Particle ////////////////////////////////////////////////////////////////////////////
// The particle itself. Designed to be as small as possible
///////////////////////////////////////////////////////////////////////////////////////////////////

class Asura_PFX_Particle
{
public:
	Asura_Vector_3  	m_xPosition;	// World-space or modelspace position, dependent on whether the effect is attached to an entity
	Asura_Vector_3  	m_xVelocity;	// Also world-space or model-space 
	float				m_fAge;			// Value between 0.0f and 1.0f showing particle's age, and which determines its appearance by the template attribute/lifetime graphs  
	float				m_fSeed;		// Random seed determining initial rotation (possibly other initial values?)  
};


// E N D   F I L E   W R A P P E R ///////////////////////////////////////////

#endif // #ifndef ___ASURA_PFX_CLASSES_H___
