#include "Follower.h"

Follower::Follower(Persos_Gest* persosGest, bool allie)
: IACtrl(persosGest, allie), m_focIDAllie(65535), m_focIDFoe(65535), m_vitesse(0.0f)
{}

Follower::~Follower()
{}

void Follower::update()
{
    ///Rafraichit focus
        if ( !m_persosGest->getVivant(m_focIDAllie, m_allie) ) m_focIDAllie = focusProche( m_allie );
        if ( !m_persosGest->getVivant(m_focIDFoe, !m_allie) ) m_focIDFoe = focusProche( !m_allie );

    ///Visee
        m_visee =  m_persosGest->getPos( m_focIDFoe, !m_allie ) - m_moi->getPos();

    ///Mouvement
        m_mvt =  m_persosGest->getPos( m_focIDAllie, m_allie ) - m_moi->getPos();
        if ( m_mvt.norme() < 274.0 && m_vitesse > 0.0f) m_vitesse -= 0.1f; /// Près de l'allié : stop
        else if ( m_vitesse < 1.0f ) m_vitesse += 0.1f; /// Loin, on le rejoint

    ///Tir
        if ( m_visee.norme() < 380.0 && m_persosGest->getVivant( m_focIDFoe, !m_allie ) ) m_tir[ L_HAND ] = m_tir[ R_HAND ] = true;
        else m_tir[ L_HAND ] = m_tir[ R_HAND ] = false;

        m_mvt.normaliser();
        m_mvt *= m_vitesse;
}

///END FICHIER