diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index def6a6a..c80f219 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/DungeonManager.iml b/DungeonManager.iml
index 2a02201..42f4ed5 100644
--- a/DungeonManager.iml
+++ b/DungeonManager.iml
@@ -1,5 +1,5 @@
-
+
@@ -7,7 +7,7 @@
-
+
diff --git a/app/app.iml b/app/app.iml
index 9724666..e8f6572 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -1,5 +1,5 @@
-
+
@@ -9,6 +9,7 @@
+
@@ -24,6 +25,7 @@
+
diff --git a/app/src/main/java/com/ddns/kauron/dungeonmanager/Introduction.java b/app/src/main/java/com/ddns/kauron/dungeonmanager/Introduction.java
index f7118cb..651ad2a 100644
--- a/app/src/main/java/com/ddns/kauron/dungeonmanager/Introduction.java
+++ b/app/src/main/java/com/ddns/kauron/dungeonmanager/Introduction.java
@@ -11,7 +11,7 @@ import android.widget.Toast;
public class Introduction extends ActionBarActivity {
- EditText name, className, raceName, level, maxPg;
+ EditText name, className, raceName, level, maxPg, curativeEfforts, maxCurativeEfforts, pgE;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -23,6 +23,9 @@ public class Introduction extends ActionBarActivity {
raceName = (EditText) findViewById(R.id.editRaceIntro);
level = (EditText) findViewById(R.id.editLevelIntro);
maxPg = (EditText) findViewById(R.id.editMaxPgIntro);
+ curativeEfforts = (EditText) findViewById(R.id.editEffortIntro);
+ maxCurativeEfforts = (EditText) findViewById(R.id.editMaxEffortIntro);
+ pgE = (EditText) findViewById(R.id.editPgIntro);
}
@@ -61,42 +64,58 @@ public class Introduction extends ActionBarActivity {
private boolean finished() {
SharedPreferences p = getSharedPreferences("basics", MODE_PRIVATE);
SharedPreferences.Editor ed = p.edit();
+
String nameString = name.getText().toString();
String classString = className.getText().toString();
String raceString = raceName.getText().toString();
- int levelInt = 0, maxPgInt = 0;
- try {
+
+ int levelInt = 0, maxPgInt = 0, pg = 0, curEff = 0, mCurEff = 0;
+ if (!level.getText().toString().isEmpty())
levelInt = Integer.parseInt(level.getText().toString());
- maxPgInt = Integer.parseInt(level.getText().toString());
- } catch (Exception e) {}
+ if (!maxPg.getText().toString().isEmpty())
+ maxPgInt = Integer.parseInt(maxPg.getText().toString());
+ if (!pgE.getText().toString().isEmpty())
+ pg = Integer.parseInt(pgE.getText().toString());
+ if (!curativeEfforts.getText().toString().isEmpty())
+ curEff = Integer.parseInt(curativeEfforts.getText().toString());
+ if (!maxCurativeEfforts.getText().toString().isEmpty())
+ mCurEff = Integer.parseInt(maxCurativeEfforts.getText().toString());
+
if(getIntent().getExtras().getBoolean("first_time")) {
- if (!nameString.isEmpty() &&
+ if (
+ !nameString.isEmpty() &&
!classString.isEmpty() &&
!raceString.isEmpty() &&
levelInt != 0 &&
- maxPgInt != 0) {
+ maxPgInt != 0 &&
+ pg != 0 &&
+ curEff != 0 &&
+ mCurEff != 0
+ ) {
//first save it all
ed.putString("playerName", nameString);
ed.putString("className", classString);
ed.putString("raceName", raceString);
- if(p.getInt("pg", Integer.MIN_VALUE) == Integer.MIN_VALUE)
- ed.putInt("pg", maxPgInt);
ed.putInt("level", levelInt);
ed.putInt("maxPg", maxPgInt);
+ ed.putInt("pg", pg);
+ ed.putInt("maxCurativeEfforts", mCurEff);
+ ed.putInt("curativeEfforts", curEff);
ed.putBoolean("saved", true);
- ed.apply();
- return true;
} else {
return false;
}
} else {
- if(!nameString.isEmpty()) ed.putString("playerName", nameString);
- if(!classString.isEmpty()) ed.putString("className", classString);
- if(!raceString.isEmpty()) ed.putString("raceName", raceString);
- if(levelInt != 0) ed.putInt("level", levelInt);
- if(maxPgInt != 0) ed.putInt("maxPg", maxPgInt);
- ed.apply();
- return true;
+ if (!nameString.isEmpty()) ed.putString("playerName", nameString);
+ if (!classString.isEmpty()) ed.putString("className", classString);
+ if (!raceString.isEmpty()) ed.putString("raceName", raceString);
+ if (levelInt != 0) ed.putInt("level", levelInt);
+ if (maxPgInt != 0) ed.putInt("maxPg", maxPgInt);
+ if (pg != 0) ed.putInt("pg", pg);
+ if (mCurEff != 0) ed.putInt("maxCurativeEfforts", mCurEff);
+ if (curEff != 0) ed.putInt("curativeEfforts", curEff);
}
+ ed.apply();
+ return true;
}
}
diff --git a/app/src/main/java/com/ddns/kauron/dungeonmanager/MainActivity.java b/app/src/main/java/com/ddns/kauron/dungeonmanager/MainActivity.java
index f00d3e0..e976e51 100644
--- a/app/src/main/java/com/ddns/kauron/dungeonmanager/MainActivity.java
+++ b/app/src/main/java/com/ddns/kauron/dungeonmanager/MainActivity.java
@@ -9,6 +9,7 @@ import android.graphics.Color;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.text.InputType;
+import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -63,6 +64,7 @@ public class MainActivity extends ActionBarActivity
showHealthDialog();
return true;
} else if (id == R.id.action_edit_basics) {
+ //TODO: try this startChildActivity()
SharedPreferences p = getSharedPreferences("basics", MODE_PRIVATE);
Intent intent = new Intent(this, Introduction.class);
startActivity(intent.putExtra(
@@ -103,6 +105,33 @@ public class MainActivity extends ActionBarActivity
dialog.show(getFragmentManager(), "HealthDialogFragment");
}
+ @Override
+ protected void onPause() {
+ super.onPause();
+ Log.e("UTIL", "pause");
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ Log.e("UTIL", "resume");
+ restoreData();
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+ Log.e("UTIL", "stop");
+ saveData();
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ saveData();
+ Log.e("UTIL", "destroy");
+ }
+
@Override
public void curativeEffort(DialogFragment dialog, boolean uses) {
int hasCured = player.recoverPg(Player.USE_CURATIVE_EFFORT, uses);
@@ -182,19 +211,23 @@ public class MainActivity extends ActionBarActivity
private void restoreData(){
SharedPreferences p = getSharedPreferences("basics", MODE_PRIVATE);
//restore state
- player = new Player(
- p.getString("playerName", getString(R.string.adventurer_name)),
- p.getString("className", getString(R.string.class_name)),
- p.getString("raceName", getString(R.string.race_name)),
- p.getInt("level", 1),
- p.getInt("maxPg", 15),
- p.getInt("pg", 15),
- p.getInt("maxCurativeEfforts", 5),
- p.getInt("curativeEfforts", 5),
- new int[6],
- new int[3],
- new int[18],
- new Power[4]);
+ if(player == null) {
+ player = new Player(
+ p.getString("playerName", getString(R.string.adventurer_name)),
+ p.getString("className", getString(R.string.class_name)),
+ p.getString("raceName", getString(R.string.race_name)),
+ p.getInt("level", 1),
+ p.getInt("maxPg", 15),
+ p.getInt("pg", 15),
+ p.getInt("maxCurativeEfforts", 5),
+ p.getInt("curativeEfforts", 5),
+ new int[6],
+ new int[3],
+ new int[18],
+ new Power[4]);
+ } else {
+
+ }
//set restored values to the respective fields
((TextView) findViewById(R.id.nameText)).setText(player.getName());
((TextView) findViewById(R.id.raceText)).setText(player.getRaceName());
@@ -204,6 +237,15 @@ public class MainActivity extends ActionBarActivity
}
private void saveData() {
-
+ getSharedPreferences("basics", MODE_PRIVATE).edit()
+ .putString("playerName", player.getName())
+ .putString("className", player.getClassName())
+ .putString("raceName", player.getRaceName())
+ .putInt("level", player.getLevel())
+ .putInt("maxPg", player.getMaxPg())
+ .putInt("pg", player.getPg())
+ .putInt("maxCurativeEfforts", player.getMaxCurativeEfforts())
+ .putInt("curativeEfforts", player.getCurativeEfforts())
+ .apply();
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/ddns/kauron/dungeonmanager/Player.java b/app/src/main/java/com/ddns/kauron/dungeonmanager/Player.java
index 269229a..7bea75c 100644
--- a/app/src/main/java/com/ddns/kauron/dungeonmanager/Player.java
+++ b/app/src/main/java/com/ddns/kauron/dungeonmanager/Player.java
@@ -60,6 +60,8 @@ public class Player {
}
+ public int getMaxCurativeEfforts() {return maxCurativeEfforts;}
+
public int getCurativeEfforts() {return curativeEfforts;}
public void setCurativeEffort(int curativeEfforts) {this.curativeEfforts = curativeEfforts;}
diff --git a/app/src/main/res/layout/activity_introduction.xml b/app/src/main/res/layout/activity_introduction.xml
index 1cf0a9c..e154f66 100644
--- a/app/src/main/res/layout/activity_introduction.xml
+++ b/app/src/main/res/layout/activity_introduction.xml
@@ -23,10 +23,10 @@
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/editRaceIntro"
- android:layout_below="@+id/editClassIntro"
- android:layout_alignParentLeft="true"
- android:layout_alignParentStart="true"
- android:hint="@string/race_name" />
+ android:hint="@string/race_name"
+ android:layout_below="@+id/editNameIntro"
+ android:layout_toRightOf="@+id/editClassIntro"
+ android:layout_toEndOf="@+id/editClassIntro" />
+ android:layout_toRightOf="@+id/editNameIntro"
+ android:layout_alignRight="@+id/editRaceIntro"
+ android:layout_alignEnd="@+id/editRaceIntro" />
+ android:width="70dp"
+ android:layout_below="@+id/editClassIntro"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_toLeftOf="@+id/editMaxEffortIntro"
+ android:layout_toStartOf="@+id/editMaxEffortIntro" />
+ android:layout_below="@+id/editRaceIntro"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true" />
+
+
+
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 87bb4d0..de1bce2 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -23,12 +23,13 @@
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/pgCurrent"
android:layout_toStartOf="@+id/pgCurrent"
- android:id="@+id/linearLayout">
+ android:id="@+id/linearLayout"
+ android:layout_alignBottom="@+id/pgCurrent">
DungeonManager
Cure
Undo
+ PG
+ Curative efforts
Dungeons and Dragons
Save
Create event
@@ -26,7 +28,7 @@
Done
Level
- Curative efforts
+ Max curative efforts
Max PG
You need to fill all the information
You don\'t have any curative efforts left!