/* Autor: Leandro Bernsmuller
Passa rede de arrastao */



#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 "interv.h"
#include "rede.h"



/* construtor
**********************************************************/
CRede::CRede ()
{
   m_dwTipoAcao = ID_ACAO_REDE;
   m_fPassou = 0;
   m_dwBordaRemove = 4;
   m_fDirecaoX = -0.6;
   m_fDirecaoY = 0;
   float
      *pafTaxas = afCONFIG_TAXAS_REDE;
   for ( int ncT = 0; ncT < NUM_MODELOS + NUM_MODELOS_ESP; ncT ++ )
      m_afTaxasFome [ ncT ] = pafTaxas [ ncT ];
}



/* Acao.
pDado1 - flags informando se colidiu com limites do cenario
         (ver cenfis.cpp, mDetectaColisaoComBordas)
pDado2 - nao usado
return TRUE - certo / FALSE - erro
**********************************************************/
BOOL CRede::mAtiva ( PTRVAL pDado1, PTRVAL pDado2 )
{
   // testa colisao
   if ( pDado1 != 0 )
      CIntervir::mAtiva ( pDado1, 0 );

   if ( m_fPassou != 1 ) {

      // retira energia
      CIntervir::mAtiva ( pDado1, 1 );

      // anima
      CIntervir::mAtiva ( pDado1, 2 );

      m_fPassou = 1;
   }

   return TRUE;
}
