#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