Floor *Building::getFloor(int floorNumber){ if (this->arrayFloors != NULL) { for(int i = 0; i < this->arrayFloors->count(); i++){ Floor *floor = (Floor *)this->arrayFloors->objectAtIndex(i); if(floor->getFloorNumber() == floorNumber){ return floor; } } } return NULL; }
Floor *Building::findNearestTransferLeftFloor(int actualFloorNumber){ CCArray *transferFloors = this->getTransferFloors(); Floor *actualFloor = NULL; int actualDiff = 99; for(int i = 0; i < transferFloors->count(); i++){ Floor *floor = (Floor *)transferFloors->objectAtIndex(i); if(floor->getTransferLeft()){ int floorNumber = floor->getFloorNumber(); int diff = abs(actualFloorNumber - floorNumber); if(diff < actualDiff){ actualDiff = diff; actualFloor = floor; } } } return actualFloor; }