Files
azerothcore-wotlk/src/server/game/Movement/AbstractFollower.h
2026-03-08 13:41:42 -03:00

44 lines
1.3 KiB
C++

/*
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef ACORE_ABSTRACTFOLLOWER_H
#define ACORE_ABSTRACTFOLLOWER_H
#include "FollowerReference.h"
class Unit;
class AbstractFollower
{
public:
explicit AbstractFollower(Unit* target = nullptr) { SetTarget(target); }
virtual ~AbstractFollower() { SetTarget(nullptr); }
void SetTarget(Unit* unit);
Unit* GetTarget() const { return _target; }
bool IsTargetValid() const { return i_target.isValid(); }
virtual void stopFollowing() { }
Unit* _target = nullptr;
protected:
FollowerReference i_target;
};
#endif