mirror of
https://github.com/ENSL/NS.git
synced 2024-11-30 00:10:57 +00:00
4f13237895
Change CRLF to LF in repo.
89 lines
1.6 KiB
C++
89 lines
1.6 KiB
C++
#include "AvHBuildable.h"
|
|
#include "../util/nowarnings.h"
|
|
#include "../dlls/extdll.h"
|
|
#include "../dlls/util.h"
|
|
#include "../dlls/cbase.h"
|
|
#include "AvHGamerules.h"
|
|
#include "AvHTeam.h"
|
|
|
|
AvHBuildable::AvHBuildable(AvHTechID inTechID)
|
|
{
|
|
this->mTechID = inTechID;
|
|
this->mHasBeenBuilt = false;
|
|
this->mBuilder = -1;
|
|
}
|
|
|
|
int AvHBuildable::GetBuilder() const
|
|
{
|
|
return this->mBuilder;
|
|
}
|
|
|
|
bool AvHBuildable::GetHasBeenBuilt() const
|
|
{
|
|
return this->mHasBeenBuilt;
|
|
}
|
|
|
|
bool AvHBuildable::GetSupportsTechID(AvHTechID inTechID) const
|
|
{
|
|
return (inTechID == this->mTechID);
|
|
}
|
|
|
|
AvHTechID AvHBuildable::GetTechID() const
|
|
{
|
|
return this->mTechID;
|
|
}
|
|
|
|
void AvHBuildable::SetTechID(AvHTechID inTechID)
|
|
{
|
|
this->mTechID = inTechID;
|
|
}
|
|
|
|
void AvHBuildable::SetHasBeenKilled()
|
|
{
|
|
GetGameRules()->BuildableKilled(this);
|
|
}
|
|
|
|
void AvHBuildable::SetBuilder(int inEntIndex)
|
|
{
|
|
this->mBuilder = inEntIndex;
|
|
}
|
|
|
|
void AvHBuildable::SetConstructionComplete(bool inForce)
|
|
{
|
|
}
|
|
|
|
void AvHBuildable::SetHasBeenBuilt()
|
|
{
|
|
this->mHasBeenBuilt = true;
|
|
|
|
GetGameRules()->BuildableBuilt(this);
|
|
}
|
|
|
|
void AvHBuildable::SetResearching(bool inState)
|
|
{
|
|
}
|
|
|
|
void AvHBuildable::TriggerAddTech() const
|
|
{
|
|
AvHTeamNumber theTeamNumber = this->GetTeamNumber();
|
|
AvHTeam* theTeam = GetGameRules()->GetTeam(theTeamNumber);
|
|
|
|
if(theTeam)
|
|
{
|
|
theTeam->TriggerAddTech(this->mTechID);
|
|
}
|
|
}
|
|
|
|
void AvHBuildable::TriggerRemoveTech() const
|
|
{
|
|
AvHTeamNumber theTeamNumber = this->GetTeamNumber();
|
|
AvHTeam* theTeam = GetGameRules()->GetTeam(theTeamNumber);
|
|
|
|
if(theTeam)
|
|
{
|
|
theTeam->TriggerRemoveTech(this->mTechID);
|
|
if ( this->mTechID == TECH_ADVANCED_ARMORY )
|
|
theTeam->TriggerRemoveTech(TECH_ARMORY);
|
|
}
|
|
}
|
|
|