private void updateView() { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); String characterName = preferences.getString( (String) getText(R.string.pref_character_name_key), (String) getText(R.string.pref_character_name_default)); mAvatarImageView = (ImageView) getView().findViewById(R.id.avatar); mAvatarImageView.setImageResource(getAvatarResourceId()); mCharacterNameTextView = (TextView) getView().findViewById(R.id.character_name); mCharacterNameTextView.setText(characterName); mSetupCharacterButton = (Button) getView().findViewById(R.id.button_setup_character); mSetupCharacterButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getActivity(), CharacterSetupActivity.class); startActivity(intent); } }); mSpinner = (ProgressBar) getView().findViewById(R.id.spinner); mJoinStartButton = (Button) getView().findViewById(R.id.button_join_start); mJoinStartButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { onJoinReadyClicked(); } }); SpellcastGameModel model = SpellcastApplication.getInstance().getGameModel(); PlayableCharacter player = model.getControlledCharacter(); if (player.getPlayerState() == GameManagerClient.PLAYER_STATE_AVAILABLE) { mSetupCharacterButton.setVisibility(View.VISIBLE); } else { mSetupCharacterButton.setVisibility(View.INVISIBLE); } if (model.isGameJoinable() && !player.isPlayerRequestInProgress()) { mJoinStartButton.setVisibility(View.VISIBLE); mSpinner.setVisibility(View.GONE); if (player.getPlayerState() == GameManagerClient.PLAYER_STATE_AVAILABLE) { mJoinStartButton.setText(R.string.button_join_battle); } else if (player.getPlayerState() == GameManagerClient.PLAYER_STATE_READY) { mJoinStartButton.setText(R.string.button_start_battle); } } else { mJoinStartButton.setVisibility(View.GONE); mSpinner.setVisibility(View.VISIBLE); } }
private void onJoinReadyClicked() { SpellcastGameModel model = SpellcastApplication.getInstance().getGameModel(); int playerState = model.getControlledCharacter().getPlayerState(); if (model.isInitialized()) { if (playerState == GameManagerClient.PLAYER_STATE_AVAILABLE || playerState == GameManagerClient.PLAYER_STATE_PLAYING) { model.getControlledCharacter().sendPlayerReadyMessage(); } else if (playerState == GameManagerClient.PLAYER_STATE_READY) { model.getControlledCharacter().sendPlayerPlayingMessage(); } } updateView(); }