Example #1
0
CCArray *Building::getTransferFloors(){
    CCArray *transferFloors = CCArray::create();
    
    for(int i = 0; i < this->arrayFloors->count(); i++){
        Floor *floor = (Floor *)this->arrayFloors->objectAtIndex(i);
        if(floor->getTransferLeft() || floor->getTransferRight()){
            transferFloors->addObject(floor);
        }
    }
    
    return transferFloors;
}
Example #2
0
Floor *Building::findNearestTransferRightFloor(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->getTransferRight()){
            int floorNumber = floor->getFloorNumber();
            int diff = abs(actualFloorNumber - floorNumber);
            if(diff < actualDiff){
                actualDiff = diff;
                actualFloor = floor;
            }
        }
    }
    
    return actualFloor;
}