ICT290 / src / scene / AIController / Goals / GoalHuntTarget.h
GoalHuntTarget.h
Raw
#pragma once

//-----------------------------------------------------------------------------
//
//  Name:   GoalHuntTarget.h
//
//  Author: Mat Buckland (www.ai-junkie.com)
//
//  Desc:   Causes a bot to search for its current target. Exits when target
//          is in view
//-----------------------------------------------------------------------------
#include "../Vehicle.h"
#include "ArcanistGoalTypes.h"
#include "GoalComposite.h"

class GoalHuntTarget : public GoalComposite<Vehicle> {
   private:
    // this value is set to true if the last visible position of the target
    // bot has been searched without success
    bool m_bLVPTried;

   public:
    explicit GoalHuntTarget(Vehicle* Bot)
        : GoalComposite<Vehicle>(Bot, goal_hunt_target),
          m_bLVPTried(false) {}

    // the usual suspects
    void Activate() override;
    int Process() override;
    void Terminate() override {}

    void markOwnerWithGoal() override { m_Owner->m_Goal = m_Type; }

    // void Render();
};