/* Autor: Leandro Bernsmuller
Implementa a acao de morte de um agente com representacao fisica:
retira modelo no cenario,... */



#include <windows.h>
#include <windowsx.h>
#include <ddraw.h>
#include <d3drmwin.h>
#include "..\..\princip\defs.h"
#include "..\..\cenario\cenario.h"
#include "..\..\cenario\cenfis.h"
#include "acao.h"
#include "..\dados\dados.h"
#include "..\dados\dadosfis.h"
#include "..\agente.h"
#include "morre.h"



/* construtor
**********************************************************/
CMorre::CMorre ()
{
   m_dwTipoAcao = ID_ACAO_MORRE;
}



/* Acao.
pDado1 - nao usado
pDado2 - nao usado
return TRUE - certo / FALSE - erro
**********************************************************/
BOOL CMorre::mAtiva ( PTRVAL pDado1, PTRVAL pDado2 )
{
   CDadosFisicos
      *poDados = (CDadosFisicos*) m_poMeuAgente->m_poDados;

   // retira o objeto do cenario
   m_poMeuAgente->m_poCenario->mDestroiObjeto ( poDados->m_dwGrupo, poDados->m_dwNdxObjeto );
   
   // atualiza agente

   // sem dados
   delete m_poMeuAgente->m_poDados;
   m_poMeuAgente->m_poDados = NULL;
   
   //sem acoes (exceto nascer)
   DWORD
      adwConfiguracao [] = CONFIG_AGENTE_PRENATAL;
   // nulo para acoes
   m_poMeuAgente->mPreparaReconfigurarPos ( adwConfiguracao );

   return TRUE;
}
