Android Open Source - SevenWonders Level Chooser Activity






From Project

Back to project page SevenWonders.

License

The source code is released under:

Apache License

If you think the Android project SevenWonders listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package skylight1.sevenwonders;
//from   w w w.  j a v a2 s .c  o m
//import com.adwhirl.AdWhirlLayout.AdWhirlInterface;

import java.util.ArrayList;
import java.util.List;

import skylight1.sevenwonders.levels.GameLevel;
import skylight1.sevenwonders.view.TextStyles;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

public class LevelChooserActivity extends ListActivity {//implements AdWhirlInterface {

  private static class LevelScore {
    final GameLevel level;

    final int score;
    
    final boolean locked;

    public LevelScore(GameLevel aLevel, int aScore, final boolean aLocked) {
      level = aLevel;
      score = aScore;
      locked = aLocked;
    }
  }

  private TextStyles wonderFonts;
  final private List<LevelScore> listOfLevels = new ArrayList<LevelScore>();
  private ArrayAdapter<LevelScore> levelScoreAdapter;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.level_chooser);

    wonderFonts = new TextStyles(this);

    final TextView heading = (TextView) findViewById(R.id.heading);
    wonderFonts.applyBodyTextStyle(heading);

    levelScoreAdapter = new ArrayAdapter<LevelScore>(this, R.layout.level_chooser_row, listOfLevels) {
      @Override
      public View getView(int aPosition, View aConvertView, ViewGroup aParent) {
        final View rowView;
        if (aConvertView == null) {
          rowView = LevelChooserActivity.this.getLayoutInflater().inflate(R.layout.level_chooser_row, null);
        } else {
          rowView = aConvertView;
        }
        final TextView levelNameTextView = (TextView) rowView.findViewById(R.id.levelName);
        final TextView scoreTextView = (TextView) rowView.findViewById(R.id.highScore);
        final ImageView icon = (ImageView) rowView.findViewById(R.id.levelIcon);

        wonderFonts.applyHeaderTextStyle(levelNameTextView);
        wonderFonts.applyHeaderTextStyle(scoreTextView);

        final LevelScore levelScore = getItem(aPosition);

        icon.setImageResource(levelScore.level.getIconResourceId());
        //TODO: fix - temp edit for wear
//        levelNameTextView.setText("Level " + (levelScore.level.ordinal() + 1));
//        final String scoreMessage = levelScore.locked ? "LOCKED" : String.format("%d", levelScore.score);
        levelNameTextView.setText(""+(levelScore.level.ordinal() + 1));
        final String scoreMessage = levelScore.locked ? "" : String.format("%d", levelScore.score);
        scoreTextView.setText(scoreMessage);
        //TODO: fix
        scoreTextView.setTextSize(20.0f);

        // grey out the row if the level is locked
        rowView.setEnabled(! levelScore.locked);
        
        return rowView;
      }
      
      @Override
      public boolean isEnabled(int aPosition) {
        // disable the row if the level is locked
        return ! getItem(aPosition).locked;
      }
    };

    setListAdapter(levelScoreAdapter);
    
//        ViewGroup layout = (ViewGroup)findViewById(R.id.layout_ad);
//    Adverts.insertAdBanner(this,layout);
  }

  @Override
  protected void onResume() {
    super.onResume();

    // update the scores and locked/unlocked status
    final Settings settings = new Settings(this);
    listOfLevels.clear();
    for (GameLevel level : GameLevel.values()) {
      // add one for one-based-indexing
      final int oneBasedLevelNumber = level.ordinal() + 1;
      listOfLevels.add(new LevelScore(level, settings.getHighScore(oneBasedLevelNumber), settings.isLevelLocked(oneBasedLevelNumber)));
    }
    levelScoreAdapter.notifyDataSetChanged();
  }
  
  @Override
  protected void onListItemClick(ListView aL, View aV, int aPosition, long aId) {
    final LevelScore levelScore = (LevelScore) getListAdapter().getItem(aPosition);
    final Intent intent = new Intent(this, PlayActivity.class);
    intent.putExtra(ScoreActivity.KEY_LEVEL_ORDINAL, levelScore.level.ordinal());
    startActivity(intent);
    finish();
  }

//  @Override
//  public void adWhirlGeneric() {
//  }
}




Java Source Code List

com.facebook.android.AsyncFacebookRunner.java
com.facebook.android.DialogError.java
com.facebook.android.FacebookError.java
com.facebook.android.Facebook.java
com.facebook.android.FbDialog.java
com.facebook.android.Util.java
skylight1.sevenwonders.AboutActivity.java
skylight1.sevenwonders.Adverts.java
skylight1.sevenwonders.Analytics.java
skylight1.sevenwonders.GameState.java
skylight1.sevenwonders.LevelChooserActivity.java
skylight1.sevenwonders.MenuActivity.java
skylight1.sevenwonders.PlayActivity.java
skylight1.sevenwonders.ScoreActivity.java
skylight1.sevenwonders.SettingsActivity.java
skylight1.sevenwonders.Settings.java
skylight1.sevenwonders.SevenWondersApplication.java
skylight1.sevenwonders.SoundTracksStoppingExceptionHandler.java
skylight1.sevenwonders.SplashActivity.java
skylight1.sevenwonders.StoryActivity.java
skylight1.sevenwonders.levels.CoinCollisionAction.java
skylight1.sevenwonders.levels.CollisionAction.java
skylight1.sevenwonders.levels.ExtraTimeAction.java
skylight1.sevenwonders.levels.GameLevel.java
skylight1.sevenwonders.levels.GameObjectDescriptor.java
skylight1.sevenwonders.levels.HazardCollisionAction.java
skylight1.sevenwonders.levels.LevelConstructionToolkit.java
skylight1.sevenwonders.levels.ProtectionAction.java
skylight1.sevenwonders.levels.RubyCollisionAction.java
skylight1.sevenwonders.levels.SpellCollisionAction.java
skylight1.sevenwonders.services.SoundTracks.java
skylight1.sevenwonders.social.DialogUtil.java
skylight1.sevenwonders.social.NoNPEWebView.java
skylight1.sevenwonders.social.facebook.FacebookApplicationPost.java
skylight1.sevenwonders.social.facebook.FacebookConfig.java
skylight1.sevenwonders.social.facebook.FacebookScoreActivity.java
skylight1.sevenwonders.social.facebook.FacebookUtil.java
skylight1.sevenwonders.social.facebook.LoginAndGetPermissions.java
skylight1.sevenwonders.social.facebook.SessionStore.java
skylight1.sevenwonders.social.facebook.WallPost.java
skylight1.sevenwonders.social.twitter.AuthRequest.java
skylight1.sevenwonders.social.twitter.AuthStore.java
skylight1.sevenwonders.social.twitter.TwitterUpdater.java
skylight1.sevenwonders.view.Carpet.java
skylight1.sevenwonders.view.CubeBounds.java
skylight1.sevenwonders.view.GameMessagesDisplay.java
skylight1.sevenwonders.view.GameTexture.java
skylight1.sevenwonders.view.Position.java
skylight1.sevenwonders.view.SevenWondersGLRenderer.java
skylight1.sevenwonders.view.SevenWondersGLSurfaceView.java
skylight1.sevenwonders.view.StoryPagesController.java
skylight1.sevenwonders.view.StyledSpannableStringBuilder.java
skylight1.sevenwonders.view.TextStyles.java
skylight1.sevenwonders.view.TiltControl.java
wave.Constants.java
wave.CreateWave.java
wave.RectangleWave.java
wave.TriangleWave.java
wave.UtilsWave.java
wave.VertexWave.java