1
0
Fork 0

Added stats dialog

This commit is contained in:
Carlos Galindo 2015-05-10 21:40:20 +02:00
parent fc7edb1802
commit 2e472b83f9
19 changed files with 525 additions and 412 deletions

View file

@ -19,6 +19,7 @@
<option name="ALLOW_USER_CONFIGURATION" value="false" /> <option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" /> <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" /> <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
<option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" /> <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
</configuration> </configuration>
</facet> </facet>
@ -81,6 +82,7 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" /> <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content> </content>
<orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" /> <orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />

View file

@ -89,6 +89,7 @@ class Power implements Serializable{
void recover(int type){ void recover(int type){
if(this.freq <= type) used = false; if(this.freq <= type) used = false;
} }
void setUsed(boolean used) {this.used = used;}
int getFreqColor(Context context) { int getFreqColor(Context context) {
switch (freq) { switch (freq) {

View file

@ -21,16 +21,32 @@ class PowerAdapter extends ArrayAdapter<Power> {
final Power attack = getItem(position); final Power attack = getItem(position);
if ( attack != null ) { if ( attack != null ) {
((TextView) mView.findViewById(R.id.name)).setText(attack.getName()); TextView name = (TextView) mView.findViewById(R.id.name);
((TextView) mView.findViewById(R.id.keywords)).setText(attack.getKeywords()); TextView keywords = (TextView) mView.findViewById(R.id.keywords);
((TextView) mView.findViewById(R.id.frequency)).setText(attack.getFrequencyString()); TextView frequency = (TextView) mView.findViewById(R.id.frequency);
((TextView) mView.findViewById(R.id.range_and_distance)).setText(attack.getRangeString() + " " + attack.getDistance()); TextView range = (TextView) mView.findViewById(R.id.range_and_distance);
name .setText(attack.getName());
keywords .setText(attack.getKeywords());
frequency .setText(attack.getFrequencyString());
range .setText(attack.getRangeString() + " " + attack.getDistance());
mView.setBackgroundColor(attack.getFreqColor(getContext())); mView.setBackgroundColor(attack.getFreqColor(getContext()));
if (attack.isUsed())
if (attack.isUsed()) {
mView.getBackground().setAlpha(0); mView.getBackground().setAlpha(0);
else int black = getContext().getResources().getColor(R.color.black);
name .setTextColor(black);
keywords .setTextColor(black);
frequency .setTextColor(black);
range .setTextColor(black);
//name.setPaintFlags(name.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
} else {
mView.getBackground().setAlpha((position % 2) * 50 + 205); mView.getBackground().setAlpha((position % 2) * 50 + 205);
} }
}
return mView; return mView;
} }
} }

View file

@ -35,12 +35,7 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
public class ShowPlayer extends ActionBarActivity { public class ShowPlayer extends ActionBarActivity {
public static final int CURRENT_PG = 1, NULL = 0;
public Player player; public Player player;
private boolean undo;
private int undoObject, undoPreviousValue;
private ProgressBar posHpBar, negHpBar, xpBar, surgesBar; private ProgressBar posHpBar, negHpBar, xpBar, surgesBar;
private TextView hpText, xpText, surgesText, levelText; private TextView hpText, xpText, surgesText, levelText;
@ -83,7 +78,6 @@ public class ShowPlayer extends ActionBarActivity {
.setColorFilter(getResources().getColor(R.color.px_bar), PorterDuff.Mode.SRC_IN); .setColorFilter(getResources().getColor(R.color.px_bar), PorterDuff.Mode.SRC_IN);
surgesBar.getProgressDrawable() surgesBar.getProgressDrawable()
.setColorFilter(getResources().getColor(R.color.surges_bar), PorterDuff.Mode.SRC_IN); .setColorFilter(getResources().getColor(R.color.surges_bar), PorterDuff.Mode.SRC_IN);
undo = false;
restoreData(); restoreData();
invalidateOptionsMenu(); invalidateOptionsMenu();
@ -176,18 +170,18 @@ public class ShowPlayer extends ActionBarActivity {
input.requestFocus(); input.requestFocus();
return true; return true;
} else if (id == R.id.action_time_long_rest) { } else if (id == R.id.action_time_long_rest) {
PowerAdapter powerAdapter = (PowerAdapter) powerList.getAdapter(); PowerAdapter powerAdapter = powerList == null ? null : (PowerAdapter) powerList.getAdapter();
if (powerAdapter != null) { if (powerAdapter != null) {
for (int i = 0; i < powerAdapter.getCount(); i++) { for (int i = 0; i < powerAdapter.getCount(); i++) {
Power power = powerAdapter.getItem(i); Power power = powerAdapter.getItem(i);
if ( power.getFreq() != Power.AT_WILL) { if ( power.getFreq() != Power.AT_WILL) {
power.recover(Power.DAILY); power.setUsed(false);
getSharedPreferences(p.getString("power" + i, ""), MODE_PRIVATE) getSharedPreferences(p.getString("power" + i, ""), MODE_PRIVATE)
.edit().putBoolean("used", false); .edit().putBoolean("used", false).apply();
} }
} }
powerAdapter.notifyDataSetChanged();
//TODO: substitute all calls to refreshList for an update on the single view that changed //TODO: substitute all calls to refreshList for an update on the single view that changed
refreshList();
} }
player.rest(true); player.rest(true);
SnackbarManager.show( SnackbarManager.show(
@ -203,17 +197,17 @@ public class ShowPlayer extends ActionBarActivity {
hpUpdate(); hpUpdate();
surgeUpdate(); surgeUpdate();
} else if (id == R.id.action_time_rest) { } else if (id == R.id.action_time_rest) {
PowerAdapter powerAdapter = (PowerAdapter) powerList.getAdapter(); PowerAdapter powerAdapter = powerList == null ? null : (PowerAdapter) powerList.getAdapter();
if (powerAdapter != null) { if (powerAdapter != null) {
for (int i = 0; i < powerAdapter.getCount(); i++) { for (int i = 0; i < powerAdapter.getCount(); i++) {
Power power = powerAdapter.getItem(i); Power power = powerAdapter.getItem(i);
if ( power.getFreq() == Power.ENCOUNTER) { if ( power.getFreq() == Power.ENCOUNTER) {
power.recover(Power.ENCOUNTER); power.setUsed(false);
getSharedPreferences(p.getString("power" + i, ""), MODE_PRIVATE) getSharedPreferences(p.getString("power" + i, ""), MODE_PRIVATE)
.edit().putBoolean("used", false); .edit().putBoolean("used", false).apply();
} }
} }
refreshList(); powerAdapter.notifyDataSetChanged();
} }
// player.rest(false); TODO: this isn't needed without action points // player.rest(false); TODO: this isn't needed without action points
SnackbarManager.show( SnackbarManager.show(
@ -224,11 +218,22 @@ public class ShowPlayer extends ActionBarActivity {
); );
hpUpdate(); hpUpdate();
surgeUpdate(); surgeUpdate();
} else if (id == R.id.action_stats) {
statsDialog();
} }
return super.onOptionsItemSelected(item); return super.onOptionsItemSelected(item);
} }
private void statsDialog() {
final Dialog dialog = new Dialog(ShowPlayer.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.stats_dialog);
//TODO: finish him!
dialog.show();
Toast.makeText(getApplicationContext(), "Not ready yet", Toast.LENGTH_LONG).show();
}
private void levelUp() { private void levelUp() {
//TODO: improve leveling up by using a sliding guide //TODO: improve leveling up by using a sliding guide
xpBar.setMax(Player.LEVEL_XP[player.getLevel()] - xpBar.setMax(Player.LEVEL_XP[player.getLevel()] -
@ -283,7 +288,7 @@ public class ShowPlayer extends ActionBarActivity {
.setTitle(R.string.new_energies) .setTitle(R.string.new_energies)
.setPositiveButton(R.string.me, new DialogInterface.OnClickListener() { .setPositiveButton(R.string.me, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) { public void onClick(DialogInterface dialog, int id) {
undoPreviousValue = player.getHp(); final int undoPreviousValue = player.getHp();
if (heal(true)) { //a surge has been used if (heal(true)) { //a surge has been used
SnackbarManager.show( SnackbarManager.show(
Snackbar.with(getApplicationContext()) Snackbar.with(getApplicationContext())
@ -318,7 +323,7 @@ public class ShowPlayer extends ActionBarActivity {
.setNegativeButton(R.string.other, new DialogInterface.OnClickListener() { .setNegativeButton(R.string.other, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int id) { public void onClick(DialogInterface dialog, int id) {
undoPreviousValue = player.getHp(); final int undoPreviousValue = player.getHp();
heal(false); heal(false);
SnackbarManager.show( SnackbarManager.show(
Snackbar.with(getApplicationContext()) Snackbar.with(getApplicationContext())
@ -377,19 +382,25 @@ public class ShowPlayer extends ActionBarActivity {
alert.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { alert.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) { public void onClick(DialogInterface dialog, int whichButton) {
try { try {
int preValue = player.getHp(); final int undoPreviousValue = player.getHp();
int damage = Integer.parseInt(input.getText().toString()); int damage = Integer.parseInt(input.getText().toString());
player.losePg(damage); player.losePg(damage);
undo = true;
undoPreviousValue = preValue;
undoObject = CURRENT_PG;
SnackbarManager.show( SnackbarManager.show(
Snackbar.with(context).text(String.format(getString(R.string.lost_hp), damage)) Snackbar.with(context).text(String.format(getString(R.string.lost_hp), damage))
.actionLabel(R.string.action_undo) // action button label .actionLabel(R.string.action_undo) // action button label
.actionListener(new ActionClickListener() { .actionListener(new ActionClickListener() {
@Override @Override
public void onActionClicked(Snackbar snackbar) { public void onActionClicked(Snackbar snackbar) {
undo(); SnackbarManager.show(
Snackbar
.with(activity)
.text(R.string.restored)
.duration(Snackbar.SnackbarDuration.LENGTH_INDEFINITE)
);
player.setHp(undoPreviousValue);
p.edit().putInt("pg", player.getHp()).apply();
hpUpdate();
invalidateOptionsMenu();
} }
}) })
.actionColor(getResources().getColor(R.color.yellow)) .actionColor(getResources().getColor(R.color.yellow))
@ -485,30 +496,6 @@ public class ShowPlayer extends ActionBarActivity {
} }
/**
* Undoes the last change done by the player. Only used in damage().
* Healing is undone in the health dialog
*/
private void undo() {
String message = "";
if(undoObject == CURRENT_PG){
player.setHp(undoPreviousValue);
undoObject = NULL;
message = getString(R.string.restored);
}
if (!message.isEmpty()) {
SnackbarManager.show(
Snackbar
.with(this)
.text(message)
.duration(Snackbar.SnackbarDuration.LENGTH_INDEFINITE)
);
}
hpUpdate();
undo = false;
invalidateOptionsMenu();
}
/** /**
* Launches the PowerEditor to create a new attack inside the current player * Launches the PowerEditor to create a new attack inside the current player
@ -537,23 +524,28 @@ public class ShowPlayer extends ActionBarActivity {
//TODO: check which is active (now there is only a power list), so there is only one possibility //TODO: check which is active (now there is only a power list), so there is only one possibility
int n = p.getInt("powers",0); int n = p.getInt("powers",0);
if ( n == 0 ) {
findViewById(R.id.layout_no_powers).setVisibility(View.VISIBLE);
findViewById(R.id.layout_powers).setVisibility(View.GONE);
} else {
findViewById(R.id.layout_no_powers).setVisibility(View.GONE);
findViewById(R.id.layout_powers).setVisibility(View.VISIBLE);
int elements = 0; int elements = 0;
powerList = (ListView) findViewById(R.id.powerList); powerList = (ListView) findViewById(R.id.powerList);
final PowerAdapter adapter = (PowerAdapter) powerList.getAdapter(); final PowerAdapter adapter = (PowerAdapter) powerList.getAdapter();
if ( adapter != null ) if (adapter != null)
elements = adapter.getCount(); elements = adapter.getCount();
if ( elements < n && adapter != null ) { if (elements < n && adapter != null) {
for ( int i = elements; i < n; i++ ) { for (int i = elements; i < n; i++) {
SharedPreferences sav = getSharedPreferences(p.getString("power" + i, ""), MODE_PRIVATE); SharedPreferences sav = getSharedPreferences(p.getString("power" + i, ""), MODE_PRIVATE);
//TODO: solve error when closing the editor adapter.add(new Power(sav));
adapter.add( new Power ( sav ) );
} }
} else if ( n != 0 ) { } else {
ArrayList<Power> powers = new ArrayList<>(); ArrayList<Power> powers = new ArrayList<>();
for (int i = 0; i < n; i++) { for (int i = 0; i < n; i++) {
SharedPreferences sav = getSharedPreferences(p.getString("power" + i, ""), MODE_PRIVATE); SharedPreferences sav = getSharedPreferences(p.getString("power" + i, ""), MODE_PRIVATE);
powers.add( new Power(sav) ); powers.add(new Power(sav));
} }
powerList.setAdapter(new PowerAdapter(this, powers)); powerList.setAdapter(new PowerAdapter(this, powers));
@ -585,14 +577,14 @@ public class ShowPlayer extends ActionBarActivity {
String[] attack = getResources().getStringArray(R.array.attack); String[] attack = getResources().getStringArray(R.array.attack);
String[] defense = getResources().getStringArray(R.array.defense); String[] defense = getResources().getStringArray(R.array.defense);
((TextView) dialog.findViewById(R.id.attackText)).setText(attack[power.getAtk()] ((TextView) dialog.findViewById(R.id.attackText)).setText(attack[power.getAtk()]
+ " " + getResources().getString(R.string.vs) + " " + getResources().getString(R.string.vs) + " " + defense[power.getDef()]);
+ " " + defense[power.getDef()]);
final Button useButton = (Button) dialog.findViewById(R.id.useButton); final Button useButton = (Button) dialog.findViewById(R.id.useButton);
if (power.isUsed()) { if (power.isUsed()) {
useButton.getBackground().setAlpha(128); useButton.getBackground().setAlpha(128);
useButton.setEnabled(false); useButton.setEnabled(false);
useButton.setText(R.string.used);
useButton.setClickable(false); useButton.setClickable(false);
} else { } else {
useButton.setBackgroundColor(color); useButton.setBackgroundColor(color);
@ -615,18 +607,18 @@ public class ShowPlayer extends ActionBarActivity {
refreshList(); refreshList();
SnackbarManager.show( SnackbarManager.show(
Snackbar.with(getApplicationContext()) Snackbar.with(getApplicationContext())
.text(getString(R.string.used) + " " + power.getName()) .text(getString(R.string.have_used) + " " + power.getName())
.actionListener(new ActionClickListener() { .actionListener(new ActionClickListener() {
@Override @Override
public void onActionClicked(Snackbar snackbar) { public void onActionClicked(Snackbar snackbar) {
power.recover(Power.DAILY); power.setUsed(false);
useButton.setBackgroundColor(color); useButton.setBackgroundColor(color);
useButton.setTextColor(getResources().getColor(R.color.white)); useButton.setTextColor(getResources().getColor(R.color.white));
useButton.getBackground().setAlpha(255); useButton.getBackground().setAlpha(255);
useButton.setEnabled(true); useButton.setEnabled(true);
useButton.setClickable(true); useButton.setClickable(true);
getSharedPreferences(p.getString("power" + position, ""), MODE_PRIVATE) getSharedPreferences(p.getString("power" + position, ""), MODE_PRIVATE)
.edit().putBoolean("used", false).apply(); .edit().putBoolean("used", power.isUsed()).apply();
refreshList(); refreshList();
} }
}) })
@ -638,7 +630,7 @@ public class ShowPlayer extends ActionBarActivity {
} else { } else {
SnackbarManager.show( SnackbarManager.show(
Snackbar.with(getApplicationContext()) Snackbar.with(getApplicationContext())
.text(getString(R.string.used) + " " + power.getName()) .text(getString(R.string.have_used) + " " + power.getName())
.duration(Snackbar.SnackbarDuration.LENGTH_INDEFINITE), .duration(Snackbar.SnackbarDuration.LENGTH_INDEFINITE),
activity activity
); );
@ -684,7 +676,7 @@ public class ShowPlayer extends ActionBarActivity {
+ File.separator + "shared_prefs" + File.separator + name + ".xml").delete()) + File.separator + "shared_prefs" + File.separator + name + ".xml").delete())
throw new Exception(); throw new Exception();
} catch (Exception e) { } catch (Exception e) {
Log.e("POWER:DELETION", "Error deleting attack files\n" + e.getMessage() + "\n" + e.getStackTrace().toString()); Log.e("POWER:DELETION", "Error deleting attack files\n" + e.getMessage() + "\n");
} }
int max = p.getInt("powers", 0); int max = p.getInt("powers", 0);
SharedPreferences.Editor ed = p.edit(); SharedPreferences.Editor ed = p.edit();
@ -713,4 +705,5 @@ public class ShowPlayer extends ActionBarActivity {
} }
}); });
} }
}
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 647 B

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 460 B

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 871 B

After

Width:  |  Height:  |  Size: 831 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -210,190 +210,37 @@
android:text="Go to abilities"/> android:text="Go to abilities"/>
</LinearLayout> </LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/layout_powers"
android:orientation="vertical">
<ListView <ListView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:id="@+id/powerList" android:id="@+id/powerList"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:divider="@android:color/transparent" android:divider="@android:color/transparent"
android:dividerHeight="0dp" android:dividerHeight="0dp"
android:choiceMode="none" /> android:choiceMode="none" />
<TextView
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/help_text"
android:text="@string/help_list" />
</LinearLayout>
<!--<LinearLayout--> <LinearLayout
<!--android:id="@+id/attackContainer"--> android:layout_width="fill_parent"
<!--android:layout_width="wrap_content"--> android:layout_height="fill_parent"
<!--android:layout_height="wrap_content"--> android:visibility="gone"
<!--android:layout_marginTop="10dp"--> android:id="@+id/layout_no_powers">
<!--android:orientation="vertical"--> <TextView
<!--android:visibility="gone">--> android:layout_width="fill_parent"
android:layout_height="wrap_content"
<!--<TextView--> android:layout_gravity="center"
<!--android:id="@+id/titleAttack"--> android:gravity="center"
<!--android:text="@string/attack"--> android:text="@string/no_powers"/>
<!--android:textAllCaps="true"--> </LinearLayout>
<!--android:drawableBottom="?android:attr/listChoiceBackgroundIndicator"-->
<!--android:layout_marginBottom="5dp"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:textStyle="bold"-->
<!--android:textColor="?android:textColorSecondary"-->
<!--android:textSize="14sp"-->
<!--android:gravity="center_vertical"-->
<!--android:paddingLeft="8dip"-->
<!--android:paddingRight="8dip"/>-->
<!--<HorizontalScrollView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content">-->
<!--<GridLayout-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:id="@+id/attackGrid"-->
<!--android:columnCount="3"-->
<!--android:rowCount="2">-->
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:textAppearance="?android:attr/textAppearanceLarge"-->
<!--android:typeface="monospace"-->
<!--android:ems="4"-->
<!--android:layout_row="0"-->
<!--android:layout_column="0"-->
<!--android:id="@+id/STR"-->
<!--tools:text="@string/FUE" />-->
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:textAppearance="?android:attr/textAppearanceLarge"-->
<!--android:typeface="monospace"-->
<!--android:ems="4"-->
<!--android:layout_row="1"-->
<!--android:layout_column="0"-->
<!--android:id="@+id/CON"-->
<!--tools:text="@string/CON" />-->
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:textAppearance="?android:attr/textAppearanceLarge"-->
<!--android:typeface="monospace"-->
<!--android:ems="4"-->
<!--android:layout_row="0"-->
<!--android:layout_column="1"-->
<!--android:id="@+id/DEX"-->
<!--tools:text="@string/DES" />-->
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:textAppearance="?android:attr/textAppearanceLarge"-->
<!--android:typeface="monospace"-->
<!--android:ems="4"-->
<!--android:layout_row="1"-->
<!--android:layout_column="1"-->
<!--android:id="@+id/INT"-->
<!--tools:text="@string/INT" />-->
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:textAppearance="?android:attr/textAppearanceLarge"-->
<!--android:typeface="monospace"-->
<!--android:ems="4"-->
<!--android:layout_row="0"-->
<!--android:layout_column="2"-->
<!--android:id="@+id/WIS"-->
<!--tools:text="@string/SAB" />-->
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:textAppearance="?android:attr/textAppearanceLarge"-->
<!--android:typeface="monospace"-->
<!--android:ems="4"-->
<!--android:layout_row="1"-->
<!--android:layout_column="2"-->
<!--android:id="@+id/CHA"-->
<!--tools:text="@string/CAR" />-->
<!--</GridLayout>-->
<!--</HorizontalScrollView>-->
<!--</LinearLayout>-->
<!--<LinearLayout-->
<!--android:id="@+id/defenseContainer"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_marginTop="10dp"-->
<!--android:visibility="gone"-->
<!--android:orientation="vertical">-->
<!--<TextView-->
<!--android:id="@+id/titleDefense"-->
<!--android:text="@string/defense"-->
<!--android:textAllCaps="true"-->
<!--android:layout_marginBottom="5dp"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:textStyle="bold"-->
<!--android:textColor="?android:textColorSecondary"-->
<!--android:textSize="14sp"-->
<!--android:gravity="center_vertical"-->
<!--android:paddingLeft="8dip"-->
<!--android:paddingRight="8dip"/>-->
<!--<GridLayout-->
<!--android:layout_width="fill_parent"-->
<!--android:layout_height="wrap_content"-->
<!--android:id="@+id/defenseGrid"-->
<!--android:columnCount="2"-->
<!--android:rowCount="2">-->
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:textAppearance="?android:attr/textAppearanceLarge"-->
<!--android:typeface="monospace"-->
<!--android:ems="5"-->
<!--android:layout_row="0"-->
<!--android:layout_column="0"-->
<!--android:id="@+id/CA"-->
<!--tools:text="@string/CA" />-->
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:textAppearance="?android:attr/textAppearanceLarge"-->
<!--android:typeface="monospace"-->
<!--android:ems="5"-->
<!--android:layout_row="0"-->
<!--android:layout_column="1"-->
<!--android:id="@+id/FORT"-->
<!--tools:text="@string/FORT" />-->
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:textAppearance="?android:attr/textAppearanceLarge"-->
<!--android:typeface="monospace"-->
<!--android:ems="5"-->
<!--android:layout_row="1"-->
<!--android:layout_column="0"-->
<!--android:id="@+id/REF"-->
<!--tools:text="@string/REF" />-->
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:textAppearance="?android:attr/textAppearanceLarge"-->
<!--android:typeface="monospace"-->
<!--android:ems="5"-->
<!--android:layout_row="1"-->
<!--android:layout_column="1"-->
<!--android:id="@+id/VOL"-->
<!--tools:text="@string/VOL" />-->
<!--</GridLayout>-->
<!--</LinearLayout>-->
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View file

@ -42,7 +42,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/help_text" android:id="@+id/help_text"
android:text="@string/help_welcome_text" android:text="@string/help_list"
android:layout_gravity="center"/> android:layout_gravity="center"/>
</LinearLayout> </LinearLayout>

View file

@ -5,8 +5,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:background="@color/at_will" tools:background="@color/at_will"
android:paddingLeft="5dp" android:padding="5dp">
android:paddingRight="5dp">
<TextView <TextView
tools:text="Happiness" tools:text="Happiness"

View file

@ -0,0 +1,186 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/attackContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical"
android:visibility="gone">
<TextView
android:id="@+id/titleAttack"
android:text="Attack"
android:textAllCaps="true"
android:drawableBottom="?android:attr/listChoiceBackgroundIndicator"
android:layout_marginBottom="5dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="?android:textColorSecondary"
android:textSize="14sp"
android:gravity="center_vertical"
android:paddingLeft="8dip"
android:paddingRight="8dip"/>
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/attackGrid"
android:columnCount="3"
android:rowCount="2">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:typeface="monospace"
android:ems="4"
android:layout_row="0"
android:layout_column="0"
android:id="@+id/STR"
tools:text="@string/STR" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:typeface="monospace"
android:ems="4"
android:layout_row="1"
android:layout_column="0"
android:id="@+id/CON"
tools:text="@string/CON" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:typeface="monospace"
android:ems="4"
android:layout_row="0"
android:layout_column="1"
android:id="@+id/DEX"
tools:text="@string/DEX" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:typeface="monospace"
android:ems="4"
android:layout_row="1"
android:layout_column="1"
android:id="@+id/INT"
tools:text="@string/INT" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:typeface="monospace"
android:ems="4"
android:layout_row="0"
android:layout_column="2"
android:id="@+id/WIS"
tools:text="@string/WIS" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:typeface="monospace"
android:ems="4"
android:layout_row="1"
android:layout_column="2"
android:id="@+id/CHA"
tools:text="@string/CHA" />
</GridLayout>
</HorizontalScrollView>
</LinearLayout>
<LinearLayout
android:id="@+id/defenseContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:visibility="gone"
android:orientation="vertical">
<TextView
android:id="@+id/titleDefense"
android:text="Defense"
android:textAllCaps="true"
android:layout_marginBottom="5dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="?android:textColorSecondary"
android:textSize="14sp"
android:gravity="center_vertical"
android:paddingLeft="8dip"
android:paddingRight="8dip"/>
<GridLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/defenseGrid"
android:columnCount="2"
android:rowCount="2">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:typeface="monospace"
android:ems="5"
android:layout_row="0"
android:layout_column="0"
android:id="@+id/CA"
tools:text="AC" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:typeface="monospace"
android:ems="5"
android:layout_row="0"
android:layout_column="1"
android:id="@+id/FORT"
tools:text="FORT" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:typeface="monospace"
android:ems="5"
android:layout_row="1"
android:layout_column="0"
android:id="@+id/REF"
tools:text="REF" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:typeface="monospace"
android:ems="5"
android:layout_row="1"
android:layout_column="1"
android:id="@+id/VOL"
tools:text="VOL" />
</GridLayout>
</LinearLayout>
</LinearLayout>

View file

@ -34,4 +34,11 @@
</menu> </menu>
</item> </item>
<item
android:id="@+id/action_stats"
android:title="@string/show_stats"
android:orderInCategory="10"
app:showAsAction="ifRoom"
android:icon="@drawable/ic_action_stats" />
</menu> </menu>

View file

@ -38,7 +38,7 @@
<string name="add_player">Añadir personaje</string> <string name="add_player">Añadir personaje</string>
<string name="delete">Borrar</string> <string name="delete">Borrar</string>
<string name="edit">Editar</string> <string name="edit">Editar</string>
<string name="help_welcome_text">Toca un jugador para seleccionarlo, mantén pulsado para opciones</string> <string name="help_list">Toca para abrir, mantén pulsado para opciones</string>
<string name="impact">Impacto</string> <string name="impact">Impacto</string>
<string name="impactEditHint">1d6 + 4 y eres invisible</string> <string name="impactEditHint">1d6 + 4 y eres invisible</string>
<string name="keywords">Palabras clave</string> <string name="keywords">Palabras clave</string>
@ -104,7 +104,7 @@
<item>Carisma</item> <item>Carisma</item>
</string-array> </string-array>
<string-array name="defence"> <string-array name="defense">
<item>Defensa</item> <item>Defensa</item>
<item>CA</item> <item>CA</item>
<item>Fortaleza</item> <item>Fortaleza</item>
@ -112,10 +112,66 @@
<item>Voluntad</item> <item>Voluntad</item>
</string-array> </string-array>
<string-array name="abilities">
<item>Habilidad</item>
<item>Acrobacias</item>
<item>Arcanos</item>
<item>Atletismo</item>
<item>BLUFF</item>
<item>Diplomacia</item>
<item>Dungeons</item>
<item>ENDURANCE</item>
<item>Sanar</item>
<item>Historia</item>
<item>INSIGHT</item>
<item>Intimidación</item>
<item>Naturaleza</item>
<item>Percepción</item>
<item>Religión</item>
<item>STEALTH</item>
<item>STREETWISE</item>
<item>Hurto</item>
</string-array>
<string-array name="classes">
<item>Clase</item>
<item>Ardiente</item>
<item>Brujo</item>
<item>Buscador</item>
<item>Clérigo</item>
<item>Explorador</item>
<item>Guerrero</item>
<item>Mago</item>
<item>Mente de Batalla</item>
<item>Monje</item>
<item>Paladín</item>
<item>Pícaro</item>
<item>Psiónico</item>
<item>Sacerdote Rúnico</item>
<item>Señor de la Guerra</item>
</string-array>
<string-array name="races">
<item>Race</item>
<item>Dracónidos</item>
<item>Eladrines</item>
<item>Elfos</item>
<item>Enanos</item>
<item>Gitzerai</item>
<item>Humanos</item>
<item>Medianos</item>
<item>Mente del Fragmento</item>
<item>Minotauro</item>
<item>Salvaje</item>
<item>Semielfo</item>
<item>Tiflin</item>
</string-array>
<string name="required">Este campo es obligatorio</string> <string name="required">Este campo es obligatorio</string>
<string name="sure">¿Estás seguro?</string> <string name="sure">¿Estás seguro?</string>
<string name="used">Has usado</string> <string name="used">Usado</string>
<string name="have_used">Has usado</string>
<string name="restored">Valores restaurados</string> <string name="restored">Valores restaurados</string>
<string name="export">Exportar</string> <string name="export">Exportar</string>
<string name="healed">Has recuperado %d PG</string> <string name="healed">Has recuperado %d PG</string>
@ -123,4 +179,6 @@
<string name="lost_hp">Has perdido %d PG</string> <string name="lost_hp">Has perdido %d PG</string>
<string name="level_up">Subir un nivel</string> <string name="level_up">Subir un nivel</string>
<string name="use">Usar</string> <string name="use">Usar</string>
<string name="no_powers">No tienes poderes, añade uno</string>
<string name="show_stats">Mostrar ataque/defensa</string>
</resources> </resources>

View file

@ -48,7 +48,7 @@
<string name="add_player">Add player</string> <string name="add_player">Add player</string>
<string name="zero" translatable="false">0</string> <string name="zero" translatable="false">0</string>
<string name="no_players">No players, please add one</string> <string name="no_players">No players, please add one</string>
<string name="help_welcome_text">Press a player to open, hold for options</string> <string name="help_list">Press to open, hold for options</string>
<string name="name">Name</string> <string name="name">Name</string>
<string name="keywords">Keywords</string> <string name="keywords">Keywords</string>
<string name="powerNameHint">Blasting charm</string> <string name="powerNameHint">Blasting charm</string>
@ -61,7 +61,8 @@
<string name="objective">Objective</string> <string name="objective">Objective</string>
<string name="objectiveHint">One creature</string> <string name="objectiveHint">One creature</string>
<string name="required">This field is required</string> <string name="required">This field is required</string>
<string name="used">You have used</string> <string name="used">Used</string>
<string name="have_used">You have used</string>
<string name="sure">Are you sure?</string> <string name="sure">Are you sure?</string>
<string name="healed">You have restored %d HP</string> <string name="healed">You have restored %d HP</string>
<string name="restored">Values restored</string> <string name="restored">Values restored</string>
@ -149,22 +150,23 @@
<item>Thievery</item> <item>Thievery</item>
</string-array> </string-array>
<!-- TODO: correctly translate and order the classes-->
<string-array name="classes"> <string-array name="classes">
<item>Class</item> <item>Class</item>
<item>Ardiente</item> <item>Ardiente</item>
<item>Brujo</item> <item>Warlock</item>
<item>Buscador</item> <item>Buscador</item>
<item>Clérigo</item> <item>Cleric</item>
<item>Explorador</item> <item>Explorer</item>
<item>Guerrero</item> <item>Warrior</item>
<item>Mago</item> <item>Wizard</item>
<item>Mente de Batalla</item> <item>Mente de Batalla</item>
<item>Monje</item> <item>Monje</item>
<item>Paladín</item> <item>Paladín</item>
<item>Pícaro</item> <item>Pícaro</item>
<item>Psiónico</item> <item>Psiónico</item>
<item>Sacerdote Rúnico</item> <item>Sacerdote Rúnico</item>
<item>Señor de la Guerra</item> <item>Warlord</item>
</string-array> </string-array>
<string-array name="races"> <string-array name="races">
@ -187,5 +189,7 @@
<string name="lost_hp">Lost %d HP</string> <string name="lost_hp">Lost %d HP</string>
<string name="level_up">Level up</string> <string name="level_up">Level up</string>
<string name="use">Use</string> <string name="use">Use</string>
<string name="no_powers">There are no powers, try creating one</string>
<string name="show_stats">Show attack/defense</string>
</resources> </resources>