@Override public void act(float delta) { super.act(delta); lastUpdated += delta; if (lastUpdated >= TowerConsts.HUD_UPDATE_FREQUENCY) { lastUpdated = 0f; Player player = Player.instance(); starRatingBar.setValue(player.getStarRating()); if (dubai7StarWonder.isCompleted() && starRatingBar.getMaxValue() == 5) { starRatingBar.setMaxValue(7); } experienceLabel.setText(formatNumber(player.getExperience())); moneyLabel.setText(TowerConsts.CURRENCY_SYMBOL + formatNumber(player.getCoins())); moneyIncomeLabel.setText( TowerConsts.CURRENCY_SYMBOL + formatNumber(player.getCurrentIncome())); moneyExpensesLabel.setText( TowerConsts.CURRENCY_SYMBOL + formatNumber(player.getCurrentExpenses())); populationLabel.setText( formatNumber(player.getPopulationResidency()) + "/" + formatNumber(player.getMaxPopulation())); employmentLabel.setText( formatNumber(player.getJobsFilled()) + "/" + formatNumber(player.getJobsMax())); pack(); } }
private void setTexts() { mAnchorLikely.setText(mSettings.getAnchorLikely()); mAnchorNotLikely.setText(mSettings.getAnchorNotLikely()); mBtnSubmit.setText(mSettings.getBtnSubmit()); mBtnDismiss.setText(mSettings.getBtnDismiss()); mEtFeedback.setHint(mSettings.getFollowupPlaceholder(mRatingBar.getSelectedScore())); }
private void setupThankYouState() { setViewsVisibility(mCommonSurveyViews, false); setViewsVisibility(mFeedbackViews, false); setViewsVisibility(mNpsViews, false); mThankYouLayout.setVisibility(VISIBLE); mThankYouLayout.initValues(mSettings, mRatingBar.getSelectedScore(), getFeedback()); }
private void setupNpsState() { setViewsVisibility(mCommonSurveyViews, true); setViewsVisibility(mFeedbackViews, false); setViewsVisibility(mNpsViews, true); mTvSurveyHeader.setText(mSettings.getNpsQuestion()); mThankYouLayout.setVisibility(GONE); setKeyboardVisibility(false); final boolean isScoreSelected = mRatingBar.isScoreSelected(); updateSubmitBtn(isScoreSelected); }
private void submitSurvey() { notifyListener(); Score score = new Score(mRatingBar.getSelectedScore()); boolean shouldSkipFeedbackScreen = score.isPromoter() && mSettings.shouldSkipFollowupScreenForPromoters(); if (isFeedbackState() || shouldSkipFeedbackScreen) { updateState(STATE_THANK_YOU); } else if (isNpsState()) { updateState(STATE_FEEDBACK); } }
private void initNpsViewElements() { mLayoutBody = (RelativeLayout) findViewById(R.id.wootric_survey_layout_body); mScoreLayout = (LinearLayout) mLayoutBody.findViewById(R.id.wootric_score_layout); mAnchorLikely = (TextView) mLayoutBody.findViewById(R.id.wootric_anchor_likely); mAnchorNotLikely = (TextView) mLayoutBody.findViewById(R.id.wootric_anchor_not_likely); mRatingBar = (RatingBar) mLayoutBody.findViewById(R.id.wootric_rating_bar); mNpsViews = new View[] {mRatingBar, mScoreLayout, mAnchorLikely, mAnchorNotLikely}; initScoreLayout(); mRatingBar.setOnScoreChangedListener(this); }
private void setupFeedbackState() { setViewsVisibility(mCommonSurveyViews, true); setViewsVisibility(mFeedbackViews, true); setViewsVisibility(mNpsViews, false); int currentScore = mRatingBar.getSelectedScore(); mTvSurveyHeader.setText(mSettings.getFollowupQuestion(currentScore)); mEtFeedback.setHint(mSettings.getFollowupPlaceholder(currentScore)); mThankYouLayout.setVisibility(GONE); setKeyboardVisibility(true); final boolean hasFeedback = !mEtFeedback.getText().toString().isEmpty(); updateSubmitBtn(hasFeedback); }
public int getSelectedScore() { return mRatingBar.getSelectedScore(); }
private void notifyListener() { if (mSurveyLayoutListener == null) return; String text = mEtFeedback.getText().toString(); mSurveyLayoutListener.onSurveySubmit(mRatingBar.getSelectedScore(), text); }
public StatusBarPanel() { setTouchable(Touchable.childrenOnly); moneyLabel = makeValueLabel("0"); moneyIncomeLabel = makeValueLabel("0"); moneyExpensesLabel = makeValueLabel("0"); experienceLabel = makeValueLabel("0"); populationLabel = makeValueLabel("0"); employmentLabel = makeValueLabel("0"); gameSpeedLabel = makeValueLabel(SceneManager.activeScene().getTimeMultiplier() + "x"); starRatingBar = new RatingBar(0, 5); whiteSwatch = TowerAssetManager.texture(TowerAssetManager.WHITE_SWATCH); backgroundTexture = TowerAssetManager.texture("hud/window-bg.png"); backgroundTexture.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear); defaults(); center(); // TODO these need to be moved to the resources file row().pad(devicePixel(2)).padBottom(0); add(makeHeader("MONEY", Color.LIGHT_GRAY)).center(); add(makeHeader("INCOME", Color.LIGHT_GRAY)).center(); add(makeHeader("EXPENSES", Color.LIGHT_GRAY)).center(); add(makeHeader("POPULATION", Color.LIGHT_GRAY)).center(); add(makeHeader("EMPLOYMENT", Color.LIGHT_GRAY)).center(); Label gameSpeedHeader = makeHeader("GAME SPEED", Color.LIGHT_GRAY); add(gameSpeedHeader).center(); Label starRatingHeader = makeHeader("STAR RATING", Color.LIGHT_GRAY); add(starRatingHeader).center(); row().pad(devicePixel(2)).padTop(0); add(moneyLabel); add(moneyIncomeLabel); add(moneyExpensesLabel); add(populationLabel); add(employmentLabel); add(gameSpeedLabel); add(starRatingBar); if (TowerConsts.ENABLE_NEWS_TICKER) { row().pad(devicePixel(2)).padLeft(devicePixel(-4)).padRight(devicePixel(-4)); add(new HorizontalRule(Colors.ICS_BLUE_SEMI_TRANSPARENT, 1)).fillX().colspan(7); row().pad(0); add(new NewsTickerPanel()).colspan(7).left(); } dubai7StarWonder = AchievementEngine.instance().findById("dubai-7-star-wonder"); gameSpeedOverlay = new PopOver(); gameSpeedOverlay.alignArrow(Align.left); gameSpeedOverlay .add(new Image(TowerAssetManager.textureFromAtlas("snail", "hud/buttons.txt"))) .center(); gameSpeedSlider = new Slider( TowerConsts.GAME_SPEED_MIN, TowerConsts.GAME_SPEED_MAX, 0.5f, false, TowerAssetManager.getCustomSkin()); gameSpeedOverlay.add(gameSpeedSlider).width(devicePixel(150)); gameSpeedOverlay .add(new Image(TowerAssetManager.textureFromAtlas("rabbit", "hud/buttons.txt"))) .center(); gameSpeedOverlay.pack(); gameSpeedOverlay.setVisible(false); gameSpeedSlider.addListener( new ChangeListener() { @Override public void changed(ChangeEvent event, Actor actor) { float remainder = gameSpeedSlider.getValue() * 2f / 2f; SceneManager.activeScene().setTimeMultiplier(remainder); } }); SceneManager.activeScene().events().register(this); starRatingPopOver = new TowerRatingPopOver(); starRatingPopOver.setVisible(false); pack(); VibrateClickListener gameSpeedToggleListener = new VibrateClickListener() { @Override public void onClick(InputEvent event, float x, float y) { gameSpeedOverlay.toggle(StatusBarPanel.this, gameSpeedLabel); } }; gameSpeedHeader.addListener(gameSpeedToggleListener); gameSpeedLabel.addListener(gameSpeedToggleListener); VibrateClickListener starRatingListener = new VibrateClickListener() { @Override public void onClick(InputEvent event, float x, float y) { starRatingPopOver.toggle(StatusBarPanel.this, starRatingBar); } }; starRatingHeader.addListener(starRatingListener); starRatingBar.addListener(starRatingListener); setTouchable(Touchable.enabled); addListener( new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) {} }); }