Java源码示例:org.andengine.engine.handler.timer.ITimerCallback

示例1
@Override
public void updateGameScene() {

    if (gameService.solvedPuzzle()) {
        setOnSceneTouchListener(null);
        gameService.detatch(this);
        baseScene.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                    @Override
                    public void onTimePassed(final TimerHandler pTimerHandler) {

                        baseScene.unregisterUpdateHandler(pTimerHandler);
                        onSolvedGame();
                    }
                }));
    }

    scoreText.setText(String.valueOf(gameService.getLevel().getMovesCount()));

    updateTiles(gameService.solvedPuzzle());
}
 
示例2
@Override
public void onSolvedGame() {

    restartButton.setVisible(false);

    Level level = gameService.getLevel();
    final LevelResult levelResult = levelService.calculateLevelResult(level);
    levelService.persistLevelResult(levelResult);

    int nextLevelId = level.getId() + 1;
    levelService.unlockLevel(nextLevelId);
    this.leaveScene = true;
    engine.registerUpdateHandler(new TimerHandler(1.5f, new ITimerCallback() {

                @Override
                public void onTimePassed(TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    storyService.loadScoreScreen(levelResult);
                }
            }));
}
 
示例3
@Override
public void start() {

    this.justPlayService = new JustPlayServiceImpl();
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    ResourcesManager.getInstance().loadGameSceneResources();
                    ResourcesManager.getInstance().loadJustPlayScoreResources();
                    justPlayGameScene = new JustPlayGameScene(justPlayService.getNextLevel());
                    setScene(justPlayGameScene);
                }
            }));
}
 
示例4
@Override
public void loadJustPlaySceneFromJustPlayScene(final TimeBasedGameService timeBasedGameService,
    final JustPlayLevel justPlayLevel) {

    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    justPlayGameScene.disposeScene();
                    justPlayGameScene = new JustPlayGameScene(timeBasedGameService, justPlayLevel);
                    setScene(justPlayGameScene);
                }
            }));
}
 
示例5
@Override
public void onBackKeyPressed() {

    if (!leaveScene) {
        leaveScene = true;
        engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                    @Override
                    public void onTimePassed(TimerHandler pTimerHandler) {

                        engine.unregisterUpdateHandler(pTimerHandler);
                        storyService.loadMenuSceneFromJustPlayGameScene();
                    }
                }));
    }
}
 
示例6
@Override
public void onSolvedGame() {

    timeBasedGameService.stop();
    restartButton.setVisible(false);

    if (!leaveScene) {
        restartButton.setEnabled(false);
        leaveScene = true;
        engine.registerUpdateHandler(new TimerHandler(1f, new ITimerCallback() {

                    @Override
                    public void onTimePassed(TimerHandler pTimerHandler) {

                        engine.unregisterUpdateHandler(pTimerHandler);
                        storyService.loadJustPlayScoreSceneFromJustPlayScene(
                            new JustPlayLevelResult(timeBasedGameService.getRemainingTime(),
                                gameService.getLevel().getMovesCount(),
                                gameService.getLevel().getMinimumMovesToSolve()));
                    }
                }));
    }
}
 
示例7
@Override
public void updateJustPlayScene() {

    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(TimerHandler pTimerHandler) {

                    leftTime.setText(String.valueOf(timeBasedGameService.getRemainingTime()));

                    if (timeBasedGameService.getRemainingTime() <= 5) {
                        backgroundFlash();
                    }
                }
            }));

    if (timeBasedGameService.getRemainingTime() == 0 && !gameService.solvedPuzzle()) {
        onLostGame();
    }
}
 
示例8
private void addAnimation(final int[] currentScore) {

        engine.registerUpdateHandler(new TimerHandler(0.01f, true, new ITimerCallback() {

                    @Override
                    public void onTimePassed(TimerHandler pTimerHandler) {

                        if (!leaveScene) {
                            if (currentScore[0] >= justPlayResult.getScore()) {
                                score.setText(String.valueOf(justPlayResult.getScore()));
                                engine.unregisterUpdateHandler(pTimerHandler);
                            } else {
                                currentScore[0]++;
                                score.setText(String.valueOf(currentScore[0]));
                            }
                        } else {
                            engine.unregisterUpdateHandler(pTimerHandler);
                        }
                    }
                }));
        registerEntityModifier(new MoveYModifier(0.15f, -camera.getHeight(), 0, EaseQuadInOut.getInstance()));
    }
 
示例9
private void addAnimation(final int[] currentScore) {

        float stepRange = 0.5f / (justPlayResult.getScore() - justPlayResult.getLastScore());
        engine.registerUpdateHandler(new TimerHandler(stepRange, true, new ITimerCallback() {

                    @Override
                    public void onTimePassed(TimerHandler pTimerHandler) {

                        if (!leaveScene) {
                            if (currentScore[0] >= justPlayResult.getScore()) {
                                score.setText(String.valueOf(justPlayResult.getScore()));
                                engine.unregisterUpdateHandler(pTimerHandler);
                            } else {
                                currentScore[0]++;
                                score.setText(String.valueOf(currentScore[0]));
                            }
                        } else {
                            engine.unregisterUpdateHandler(pTimerHandler);
                        }
                    }
                }));
        registerEntityModifier(new MoveYModifier(0.15f, -camera.getHeight(), 0, EaseQuadInOut.getInstance()));
    }
 
示例10
@Override
public void disposeScene() {

    camera.setChaseEntity(null);
    camera.setCenter(camera.getWidth() / 2, camera.getHeight() / 2);
    rightArrow.setVisible(false);
    leftArrow.setVisible(false);
    camera.setHUD(null);

    final LevelChoiceScene levelChoiceScene = this;
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    arrowHud.detachChildren();
                    levelChoiceScene.detachChildren();
                }
            }));
}
 
示例11
@Override
public void loadGameSceneFromLevelChoiceScene(final Level level) {

    choiceScene.disposeScene();
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    gameScene = new LevelModeGameScene(level);
                    setScene(gameScene);
                    choiceScene = null;
                }
            }));
}
 
示例12
public BaseOnScreenControl(final float pX, final float pY, final Camera pCamera, final ITextureRegion pControlBaseTextureRegion, final ITextureRegion pControlKnobTextureRegion, final float pTimeBetweenUpdates, final VertexBufferObjectManager pVertexBufferObjectManager, final IOnScreenControlListener pOnScreenControlListener) {
	this.setCamera(pCamera);

	this.mOnScreenControlListener = pOnScreenControlListener;
	/* Create the control base. */
	this.mControlBase = new Sprite(pX, pY, pControlBaseTextureRegion, pVertexBufferObjectManager) {
		@Override
		public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
			return BaseOnScreenControl.this.onHandleControlBaseTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
		}
	};

	/* Create the control knob. */
	this.mControlKnob = new Sprite(0, 0, pControlKnobTextureRegion, pVertexBufferObjectManager);
	this.onHandleControlKnobReleased();

	/* Register listeners and add objects to this HUD. */
	this.setOnSceneTouchListener(this);
	this.registerTouchArea(this.mControlBase);
	this.registerUpdateHandler(new TimerHandler(pTimeBetweenUpdates, true, new ITimerCallback() {
		@Override
		public void onTimePassed(final TimerHandler pTimerHandler) {
			BaseOnScreenControl.this.mOnScreenControlListener.onControlChange(BaseOnScreenControl.this, BaseOnScreenControl.this.mControlValueX, BaseOnScreenControl.this.mControlValueY);
		}
	}));

	this.attachChild(this.mControlBase);
	this.mControlBase.attachChild(this.mControlKnob);

	this.setTouchAreaBindingOnActionDownEnabled(true);
}
 
示例13
public ContinuousHoldDetector(final long pTriggerHoldMinimumMilliseconds, final float pTriggerHoldMaximumDistance, final float pTimeBetweenUpdates, final IHoldDetectorListener pHoldDetectorListener) {
	super(pTriggerHoldMinimumMilliseconds, pTriggerHoldMaximumDistance, pHoldDetectorListener);

	this.mTimerHandler = new TimerHandler(pTimeBetweenUpdates, true, new ITimerCallback() {
		@Override
		public void onTimePassed(final TimerHandler pTimerHandler) {
			ContinuousHoldDetector.this.fireListener();
		}
	});
}
 
示例14
public BaseOnScreenControl(final float pX, final float pY, final Camera pCamera, final ITextureRegion pControlBaseTextureRegion, final ITextureRegion pControlKnobTextureRegion, final float pTimeBetweenUpdates, final VertexBufferObjectManager pVertexBufferObjectManager, final IOnScreenControlListener pOnScreenControlListener) {
	this.setCamera(pCamera);

	this.mOnScreenControlListener = pOnScreenControlListener;
	/* Create the control base. */
	this.mControlBase = new Sprite(pX, pY, pControlBaseTextureRegion, pVertexBufferObjectManager) {
		@Override
		public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
			return BaseOnScreenControl.this.onHandleControlBaseTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
		}
	};

	/* Create the control knob. */
	this.mControlKnob = new Sprite(0, 0, pControlKnobTextureRegion, pVertexBufferObjectManager);
	this.onHandleControlKnobReleased();

	/* Register listeners and add objects to this HUD. */
	this.setOnSceneTouchListener(this);
	this.registerTouchArea(this.mControlBase);
	this.registerUpdateHandler(new TimerHandler(pTimeBetweenUpdates, true, new ITimerCallback() {
		@Override
		public void onTimePassed(final TimerHandler pTimerHandler) {
			BaseOnScreenControl.this.mOnScreenControlListener.onControlChange(BaseOnScreenControl.this, BaseOnScreenControl.this.mControlValueX, BaseOnScreenControl.this.mControlValueY);
		}
	}));

	this.attachChild(this.mControlBase);
	this.attachChild(this.mControlKnob);

	this.setTouchAreaBindingOnActionDownEnabled(true);
}
 
示例15
public ContinuousHoldDetector(final long pTriggerHoldMinimumMilliseconds, final float pTriggerHoldMaximumDistance, final float pTimeBetweenUpdates, final IHoldDetectorListener pHoldDetectorListener) {
	super(pTriggerHoldMinimumMilliseconds, pTriggerHoldMaximumDistance, pHoldDetectorListener);

	this.mTimerHandler = new TimerHandler(pTimeBetweenUpdates, true, new ITimerCallback() {
		@Override
		public void onTimePassed(final TimerHandler pTimerHandler) {
			ContinuousHoldDetector.this.fireListener();
		}
	});
}
 
示例16
private void dead(){

		GAME_STATE = STATE_DEAD;	

		mTimer = new TimerHandler(1.6f, false, new ITimerCallback() {
			@Override
			public void onTimePassed(final TimerHandler pTimerHandler) {
				mScene.detachChild(mSceneManager.mYouSuckText);
				restartGame();
				mScene.unregisterUpdateHandler(mTimer);
			}
		});

		mScene.registerUpdateHandler(mTimer);
	}
 
示例17
private void updateTiles(final boolean finished) {

        baseScene.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                    @Override
                    public void onTimePassed(final TimerHandler pTimerHandler) {

                        detachChild(gameFieldView);
                        gameFieldView.addTiles(finished);
                        attachChild(gameFieldView);
                    }
                }));
    }
 
示例18
@Override
public void disposeScene() {

    final GameScene gameScene = this;
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    gameScene.detachChildren();
                }
            }));
}
 
示例19
@Override
public void start() {

    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    ResourcesManager.getInstance().loadLevelCreditsSceneResources();
                    creditsScene = new CreditsScene();
                    setScene(creditsScene);
                }
            }));
}
 
示例20
@Override
public void disposeScene() {

    final LoadingScene loadingScene = this;
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    loadingScene.detachChildren();
                }
            }));
    detachChildren();
}
 
示例21
@Override
public void disposeScene() {

    final SettingsScene settingsScene = this;
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    settingsScene.detachChildren();
                }
            }));
}
 
示例22
@Override
public void start() {

    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    ResourcesManager.getInstance().loadSettingsScene();
                    settingsScene = new SettingsScene();
                    setScene(settingsScene);
                }
            }));
}
 
示例23
@Override
public void loadJustPlayScoreSceneFromJustPlayScene(final JustPlayLevelResult justPlayLevelResult) {

    justPlayGameScene.disposeScene();
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    scoreScene = new JustPlayScoreScene(justPlayService.calculateResult(justPlayLevelResult));
                    setScene(scoreScene);
                }
            }));
}
 
示例24
@Override
public void loadJustPlayLostSceneFromJustPlayScene(final JustPlayLevelResult justPlayLevelResult) {

    justPlayGameScene.disposeScene();
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    lostScene = new JustPlayLostScene(justPlayService.calculateResult(justPlayLevelResult));
                    setScene(lostScene);
                }
            }));
}
 
示例25
@Override
public void loadJustPlaySceneFromJustPlayScoreScene() {

    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    justPlayGameScene = new JustPlayGameScene(justPlayService.getNextLevel());
                    setScene(justPlayGameScene);
                }
            }));
}
 
示例26
@Override
public void loadJustPlaySceneFromJustPlayLostScene() {

    this.justPlayService = new JustPlayServiceImpl();
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    justPlayGameScene = new JustPlayGameScene(justPlayService.getNextLevel());
                    setScene(justPlayGameScene);
                }
            }));
}
 
示例27
@Override
public void disposeScene() {

    final JustPlayLostScene scoreScreen = this;
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    scoreScreen.detachChildren();
                }
            }));
}
 
示例28
@Override
public void disposeScene() {

    final JustPlayScoreScene scoreScreen = this;
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    scoreScreen.detachChildren();
                }
            }));
}
 
示例29
@Override
public void disposeScene() {

    final ScoreScreen scoreScreen = this;
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    scoreScreen.detachChildren();
                }
            }));
}
 
示例30
@Override
public void disposeScene() {

    final TutorialScene tutorialScreen = this;
    engine.registerUpdateHandler(new TimerHandler(0.1f, new ITimerCallback() {

                @Override
                public void onTimePassed(final TimerHandler pTimerHandler) {

                    engine.unregisterUpdateHandler(pTimerHandler);
                    tutorialScreen.detachChildren();
                }
            }));
}