//#include "attack_info.h"
//#include "item_breakable.h"
//
//
//ItemBreakable::ItemBreakable()
//{
//	m_sClassName = "item_breakable";
//	m_bDestroyed = false;
//	m_iHealth = 10;
//	
//}
//
//void ItemBreakable::onAttack(AttackInfo &attackinfo)
//{
//	if( m_bDestroyed )
//		return;
//	m_iHealth -= attackinfo.m_iDamage;
//	m_HitSound.play();
//	if( m_iHealth <= 0 )
//	{
//		m_bDestroyed = true;
//		soundLibrary.postSoundPlay( &m_DestroySound, 100 );
//	}
//
//		
//}
//
//bool ItemBreakable::checkInteraction( InteractionParms *parameters )
//{
//	if( !m_bDestroyed )
//	{
//		Point intersected;
//		if( parameters && m_Bounds.lineIntersect( parameters->m_vecDirection, parameters->m_pointStart, intersected ) )
//		{
//			float fDistance = Vector(parameters->m_pointStart - intersected).absolute();
//			if( fDistance < parameters->m_fMaxDistance && isPointBelowPlane( Plane( -parameters->m_vecDirection, parameters->m_pointStart), intersected ) )
//			{
//				parameters->m_fMaxDistance = fDistance;
//				parameters->result = this;
//				parameters->m_pointResult = intersected;
//				//parameters->resultPlane = NULL;
//				return true;
//			}
//		}
//	}
//	return false;
//}
//
//
//void ItemBreakable::compile()
//{
//	m_Bounds.setBasicValues( Point( -m_Size.x,-m_Size.y,0) + origin  );
//	m_Bounds.updateData( Point( m_Size.x, m_Size.y, m_Size.z ) + origin );
//	m_pMyModel = modelLib::modelLibrary.applyStaticMS3DModel( m_ModelFilename );
//	soundLibrary.loadSound( m_HitSound, m_SoundFilename);
//	m_HitSound.setPosition( origin.x, origin.y, origin.z );
//	soundLibrary.loadSound( m_DestroySound ,m_SoundDestroyedFilename );
//	m_DestroySound.setPosition( origin.x, origin.y, origin.z );	
//}
//
//void ItemBreakable::decompile()
//{
//	
//	modelLib::modelLibrary.unloadModel( m_ModelFilename );
//	if( m_pMyModel )
//	{
//		modelLib::modelLibrary.freeModelElement( m_pMyModel );
//	}
//	soundLibrary.unloadSound( m_HitSound );
//	soundLibrary.unloadSound( m_DestroySound );
//}
//
//
//
//void ItemBreakable::setMemberVariables( std::map<std::string,std::string> *parametersMap )
//{
//	for( std::map<std::string,std::string>::iterator iterator = parametersMap->begin(); iterator != parametersMap->end(); iterator++ )
//	{
//		if(iterator->first == "model")
//			m_ModelFilename = iterator->second;
//		else if( iterator->first == "size")
//			m_Size = Vector( iterator->second );
//		else if( iterator->first == "health")
//			m_iHealth = stringToInt( iterator->second );
//		else if( iterator->first == "sound")
//			m_SoundFilename = iterator->second;
//		else if( iterator->first == "sounddst")	//destroy sound
//			m_SoundDestroyedFilename = iterator->second;
//	}
//}
//
//void ItemBreakable::draw()
//{
//	if( !m_bDestroyed && m_pMyModel )
//	{
//		glPushMatrix();
//		glTranslatef( origin.x, origin.y, origin.z );
//		m_pMyModel->draw();	
//		glPopMatrix();
//	}
//}
