ifndef AVH_BUILDABLE_H
define AVH_BUILDABLE_H
include "AvHTechID.h"
include "AvHConstants.h"
// Interface type class, don't inherit off anything
class AvHBuildable
{
public:
AvHBuildable(AvHTechID inTechID);
virtual int GetBuilder() const; virtual bool GetHasBeenBuilt() const; virtual bool GetIsTechActive() const = 0; virtual bool GetSupportsTechID(AvHTechID inTechID) const; virtual AvHTeamNumber GetTeamNumber() const = 0; virtual AvHTechID GetTechID() const; virtual void SetTechID(AvHTechID inTechID); virtual void SetConstructionComplete(bool inForce = false) = 0; virtual void SetHasBeenKilled(); virtual void SetBuilder(int inEntIndex); virtual void SetHasBeenBuilt(); virtual void SetResearching(bool inState); virtual void TriggerAddTech() const; virtual void TriggerRemoveTech() const;
private:
AvHTechID mTechID;
int mBuilder; bool mHasBeenBuilt;
};
endif