kauron/DungeonManager
kauron
/
DungeonManager
Archived
1
0
Fork 0

Player: can now be edited

This commit is contained in:
Carlos Galindo 2015-07-20 19:34:01 +02:00
parent c87641a921
commit ef14a452f6
4 changed files with 55 additions and 45 deletions

View File

@ -13,7 +13,7 @@
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@ -203,6 +203,8 @@ class Player implements Serializable {
String getName() {return name;}
String getClassName() {return CLASS_STRINGS[classInt];}
String getRaceName() {return RACE_STRINGS[raceInt];}
int getClassInt() {return classInt;}
int getRaceInt() {return raceInt;}
private void setAtk(int[] atk) {this.atk = atk; if(classInt != NULL) setClass();}

View File

@ -17,14 +17,13 @@ import com.nispok.snackbar.SnackbarManager;
public class PlayerEditor extends ActionBarActivity {
private EditText name, level;
private EditText str, con, dex, wis, intel, cha;
private EditText name, xp;
private EditText[] atk = new EditText[7];
private Spinner classSpinner, raceSpinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// getSupportActionBar().setDisplayHomeAsUpEnabled(true);
setContentView(R.layout.activity_player_editor);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
@ -32,13 +31,13 @@ public class PlayerEditor extends ActionBarActivity {
name = (EditText) findViewById(R.id.namePlayerEdit);
name.requestFocus();
level = (EditText) findViewById(R.id.xpEdit);
str = (EditText) findViewById(R.id.STR);
con = (EditText) findViewById(R.id.CON);
dex = (EditText) findViewById(R.id.DEX);
wis = (EditText) findViewById(R.id.WIS);
intel = (EditText) findViewById(R.id.INT);
cha = (EditText) findViewById(R.id.CHA);
xp = (EditText) findViewById(R.id.xpEdit);
atk[Player.STR] = (EditText) findViewById(R.id.STR);
atk[Player.CON] = (EditText) findViewById(R.id.CON);
atk[Player.DEX] = (EditText) findViewById(R.id.DEX);
atk[Player.WIS] = (EditText) findViewById(R.id.WIS);
atk[Player.INT] = (EditText) findViewById(R.id.INT);
atk[Player.CHA] = (EditText) findViewById(R.id.CHA);
classSpinner = (Spinner) findViewById(R.id.classSpinner);
classSpinner.setAdapter(
@ -57,6 +56,17 @@ public class PlayerEditor extends ActionBarActivity {
Player.RACE_STRINGS
)
);
int position = getIntent().getExtras().getInt("player", -1);
if ( position != -1 ) {
Player p = new Player(getSharedPreferences("player" + position, MODE_PRIVATE));
name.setText(p.getName());
xp.setText(p.getXp());
int[] attack = p.getAtk();
for (int i = Player.STR; i < Player.CHA + 1; i++)
atk[i].setText(attack[i]);
classSpinner.setSelection(p.getClassInt());
raceSpinner.setSelection(p.getRaceInt());
}
}
@ -104,34 +114,28 @@ public class PlayerEditor extends ActionBarActivity {
int raceInt = raceSpinner.getSelectedItemPosition();
int pxInt = -1;
if (!level.getText().toString().isEmpty())
pxInt = Integer.parseInt(level.getText().toString());
if (!xp.getText().toString().isEmpty())
pxInt = Integer.parseInt(xp.getText().toString());
else
xp.setError(getString(R.string.required));
int fue = 0, con = 0, des = 0, intel = 0, sab = 0, car = 0;
if (!this.cha.getText().toString().isEmpty())
car = Integer.parseInt(this.cha.getText().toString());
if (!this.str.getText().toString().isEmpty())
fue = Integer.parseInt(this.str.getText().toString());
if (!this.con.getText().toString().isEmpty())
con = Integer.parseInt(this.con.getText().toString());
if (!this.dex.getText().toString().isEmpty())
des = Integer.parseInt(this.dex.getText().toString());
if (!this.intel.getText().toString().isEmpty())
intel = Integer.parseInt(this.intel.getText().toString());
if (!this.wis.getText().toString().isEmpty())
sab = Integer.parseInt(this.wis.getText().toString());
int[] atkInts = new int[7];
for (int i = Player.STR; i <= Player.CHA; i++)
if (!atk[i].getText().toString().isEmpty())
atkInts[i] = Integer.parseInt(atk[i].getText().toString());
boolean validAtk = true;
for (int i : atkInts)
if (i == 0) {
validAtk = false;
break;
}
if (
!nameString.isEmpty() &&
classInt != Player.NULL &&
raceInt != Player.NULL &&
pxInt != -1 &&
car != 0 &&
fue != 0 &&
con != 0 &&
des != 0 &&
intel != 0 &&
sab != 0
validAtk
) {
SharedPreferences p = getSharedPreferences(Welcome.PREFERENCES, MODE_PRIVATE);
int i = p.getInt("players", 0);
@ -149,12 +153,12 @@ public class PlayerEditor extends ActionBarActivity {
ed.putInt("raceInt", raceInt);
ed.putInt("px", pxInt);
ed.putInt("fue", fue);
ed.putInt("car", car);
ed.putInt("int", intel);
ed.putInt("sab", sab);
ed.putInt("con", con);
ed.putInt("des", des);
ed.putInt("str", atkInts[Player.STR]);
ed.putInt("cha", atkInts[Player.CHA]);
ed.putInt("int", atkInts[Player.INT]);
ed.putInt("wis", atkInts[Player.WIS]);
ed.putInt("con", atkInts[Player.CON]);
ed.putInt("dex", atkInts[Player.DEX]);
//TEMP
ed.putBoolean("new", true);
ed.apply();

View File

@ -80,9 +80,9 @@ public class Welcome extends ActionBarActivity {
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == 0) {
startActivity(new Intent(activity, PlayerEditor.class).putExtra("first_time", true));
startActivity(new Intent(activity, PlayerEditor.class).putExtra("player", -1));
} else if (which == 1) {
startActivity(new Intent(activity, PlayerEditor.class).putExtra("first_time", false));
startActivity(new Intent(activity, PlayerEditor.class).putExtra("player", -1));
} else if (which == 2) {
AlertDialog.Builder importDialog = new AlertDialog.Builder(activity);
final EditText input = new EditText(activity);
@ -192,7 +192,7 @@ public class Welcome extends ActionBarActivity {
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == 0) {
if (which == 0) { //delete
//delete the item
SnackbarManager.show(
Snackbar.with(getApplicationContext())
@ -227,13 +227,17 @@ public class Welcome extends ActionBarActivity {
}),
activity
);
} else if (which == 1) {
} else if (which == 1) { //edit
//TODO: edit the player
/**TEMP*/
Toast.makeText(
activity, "Editor not implemented yet", Toast.LENGTH_LONG)
activity, "Consumed PG and surges won't be restored by the editor", Toast.LENGTH_LONG)
.show();
} else if (which == 2) {
startActivity(new Intent(
getApplicationContext(),
PlayerEditor.class
).putExtra("player", position));
} else if (which == 2) { //export
//TODO: export as files
String name = p.getString("player" + position, "");
// File file = new File(getCacheDir() + File.separator + name + ".dm");
@ -282,7 +286,7 @@ public class Welcome extends ActionBarActivity {
// e.printStackTrace();
// }
// }
} else {
} else { //experimental
/**TEMP*/
startActivity(new Intent(
getApplicationContext(), Display.class