mirror of
https://github.com/ENSL/NS.git
synced 2024-11-30 16:30:57 +00:00
49 lines
1,017 B
C
49 lines
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
|