private void extract ( int curProgress ) { if ( extractable != null ) { extractable . extractResource ( curProgress - lastProgress ) ; } for ( final ExtractorListener listener : listeners ) { listener . notifyExtracted ( resourceType , curProgress ) ; } lastProgress = curProgress ; if ( curProgress >= extractionCapacity ) { progress = extractionCapacity ; lastProgress = extractionCapacity ; state = ExtractorState . GOTO_WAREHOUSE ; for ( final ExtractorListener listener : listeners ) { listener . notifyStartCarry ( resourceType , lastProgress ) ; } } }
Perform extraction .