#ifndef AVHREINFORCEABLE_H #define AVHREINFORCEABLE_H #include "util/nowarnings.h" #include "dlls/extdll.h" #include "dlls/util.h" #include "mod/AvHConstants.h" #include "mod/AvHBuildable.h" #include "dlls/cbase.h" #include "mod/AvHMessage.h" #include "mod/AvHSpecials.h" #include "mod/AvHPlayer.h" class AvHReinforceable { public: AvHReinforceable(); virtual void CueRespawnEffect(AvHPlayer* inPlayer); virtual bool GetCanReinforce() const = 0; virtual bool GetSpawnLocationForPlayer(CBaseEntity* inPlayer, Vector& outLocation) const = 0; virtual AvHTeamNumber GetReinforceTeamNumber() const = 0; AvHPlayer* GetReinforcingPlayer(); virtual float GetReinforceTime() const; virtual void ResetEntity(void); virtual void UpdateReinforcements(); protected: virtual void ResetReinforcingPlayer(bool inSuccess); private: int mReinforcingPlayer; float mLastTimeReinforced; }; #endif