/* Autor: Leandro Bernsmuller
O agente indica quanto de energia pode fornecer.

Usado no fundo do lago e agua. */



#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 "fornalim.h"



/* construtor
**********************************************************/
CForneceAlimento::CForneceAlimento ()
{
   m_dwTipoAcao = ID_ACAO_FORNECE_ALIMENTO;
}



/* Acao.
pDado1 - ignorado
pDado2 - ponteiro para uma variavel tipo "float" onde colocar
         a informacao de quanto fornecer de energia
return TRUE - certo / FALSE - erro
**********************************************************/
BOOL CForneceAlimento::mAtiva ( PTRVAL pDado1, PTRVAL pDado2 )
{
   CDadosFisicos
      *poDados = (CDadosFisicos*) m_poMeuAgente->m_poDados;

   // verifica se existe ponteiro definido
   if ( pDado2 == 0 )
      return TRUE;
   
   // verifica se agente estah morto (tem muita fome, pouca energia)
   if ( poDados->m_fFome < TX_MORRE_FOME )
      *( (float*) pDado2 ) = 0;
   else
      *( (float*) pDado2 ) = TX_ABSORVE_ALIMENTO;

   return TRUE;
}
