ns/releases/3.04/source/mod/AvHBuildable.h
tankefugl 19b458f8bc Branched for 3.0.4 balance
git-svn-id: https://unknownworlds.svn.cloudforge.com/ns1@141 67975925-1194-0748-b3d5-c16f83f1a3a1
2005-05-29 10:59:29 +00:00

49 lines
No EOL
1,017 B
C++

#ifndef AVH_BUILDABLE_H
#define AVH_BUILDABLE_H
#include "mod/AvHTechID.h"
#include "mod/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