Wirf mal einen Blick hierauf und sag obs genehm ist. Sollten deine Gebäude mehr als ein Prereq-Building haben, musst du das break; entfernen.
PHP-Code:
BuildingClassTypes eBuildingClass = (BuildingClassTypes)(GC.getBuildingInfo(eBuilding).getBuildingClassType());
for (int iP = 0; iP < GC.getNumBuildingInfos(); iP++)
{
int iLoopBuildingClass = GC.getBuildingInfo((BuildingTypes)iP).getBuildingClassType();
if (iLoopBuildingClass == eBuildingClass && getNumBuilding((BuildingTypes)iP) > 0)
{
return false;
}
}
bool bHalten = false;
if (eBuilding == GC.getInfoTypeForString("BUILDING_UNIVERSITY"))
{
bHalten = 1;
}
for (iI = 0; iI < GC.getNumBuildingClassInfos(); iI++)
{
if (GC.getBuildingInfo(eBuilding).isBuildingClassNeededInCity(iI))
{
bool bHasPrereqBuilding;
for (int iJ = 0; iJ < GC.getNumCivilizationInfos(); iJ++)
{
ePrereqBuilding = ((BuildingTypes)(GC.getCivilizationInfo((CivilizationTypes)iJ).getCivilizationBuildings(iI)));
if (ePrereqBuilding != NO_BUILDING)
{
if (0 != getNumBuilding(ePrereqBuilding) /* && (bContinue || (getFirstBuildingOrder(ePrereqBuilding) == -1))*/)
{
bHasPrereqBuilding = true;
}
}
}
if (!bHasPrereqBuilding)
{
return false;
}
break;
}
}
Edit: Das bHaltenzeugs kannste alles rausmachen, war nur fürnen Haltepunkt.