1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-06 09:09:40 +02:00

* refactoring

This commit is contained in:
mateuszb
2013-02-11 19:11:34 +00:00
parent b554af25d3
commit 8a8eecd063
33 changed files with 224 additions and 207 deletions

View File

@@ -525,7 +525,7 @@ const TerrainTile * CGameInfoCallback::getTile( int3 tile, bool verbose) const
return &gs->map->getTile(tile);
}
EBuildingState::EBuildingState CGameInfoCallback::canBuildStructure( const CGTownInstance *t, int ID )
EBuildingState::EBuildingState CGameInfoCallback::canBuildStructure( const CGTownInstance *t, BuildingID ID )
{
ERROR_RET_VAL_IF(!canGetFullInfo(t), "Town is not owned!", EBuildingState::TOWN_NOT_OWNED);
@@ -538,14 +538,14 @@ EBuildingState::EBuildingState CGameInfoCallback::canBuildStructure( const CGTow
return EBuildingState::ALREADY_PRESENT;
//can we build it?
if(t->forbiddenBuildings.find(ID)!=t->forbiddenBuildings.end())
if(vstd::contains(t->forbiddenBuildings, ID))
return EBuildingState::FORBIDDEN; //forbidden
//checking for requirements
std::set<int> reqs = getBuildingRequiments(t, ID);//getting all requirements
std::set<BuildingID> reqs = getBuildingRequiments(t, ID);//getting all requirements
bool notAllBuilt = false;
for( std::set<int>::iterator ri = reqs.begin(); ri != reqs.end(); ri++ )
for( std::set<BuildingID>::iterator ri = reqs.begin(); ri != reqs.end(); ri++ )
{
if(!t->hasBuilt(*ri)) //lack of requirements - cannot build
{
@@ -591,9 +591,9 @@ EBuildingState::EBuildingState CGameInfoCallback::canBuildStructure( const CGTow
return EBuildingState::ALLOWED;
}
std::set<int> CGameInfoCallback::getBuildingRequiments( const CGTownInstance *t, int ID )
std::set<BuildingID> CGameInfoCallback::getBuildingRequiments( const CGTownInstance *t, BuildingID ID )
{
ERROR_RET_VAL_IF(!canGetFullInfo(t), "Town is not owned!", std::set<int>());
ERROR_RET_VAL_IF(!canGetFullInfo(t), "Town is not owned!", std::set<BuildingID>());
std::set<int> used;
used.insert(ID);