|
|
@@ -1,7 +1,5 @@
|
|
|
package org.leumasjaffe.charsheet.view.level;
|
|
|
|
|
|
-import java.util.Arrays;
|
|
|
-
|
|
|
import javax.swing.JPanel;
|
|
|
|
|
|
import org.leumasjaffe.charsheet.model.DDCharacter;
|
|
|
@@ -18,28 +16,12 @@ import javax.swing.JDialog;
|
|
|
|
|
|
@SuppressWarnings("serial")
|
|
|
@FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
|
|
|
-public class LevelUpDialog extends JPanel {
|
|
|
- static int[] EXPERIENCE_CACHE;
|
|
|
- static {
|
|
|
- final int levelsToCalc = 20;
|
|
|
- EXPERIENCE_CACHE = new int[levelsToCalc];
|
|
|
- for (int i = 0; i < levelsToCalc; ++i) {
|
|
|
- EXPERIENCE_CACHE[i] = experienceForLevel(i);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+public class LevelUpDialog extends JPanel {
|
|
|
ChooseClassLevelUpDialog chooseClass;
|
|
|
JButton btnCommit;
|
|
|
@NonFinal UpdateClassWithLevelPanel updateClass;
|
|
|
private GridBagConstraints gbc_main;
|
|
|
-
|
|
|
- public static int computeLevelsNeeded(DDCharacter chara, int bonusLevels) {
|
|
|
- final int exp = chara.getExperience().value();
|
|
|
- final int currentLevel = chara.getLevel();
|
|
|
- final int expectedLevel = Math.abs(Arrays.binarySearch(EXPERIENCE_CACHE, exp) + 1);
|
|
|
- return bonusLevels + expectedLevel - currentLevel;
|
|
|
- }
|
|
|
-
|
|
|
+
|
|
|
public LevelUpDialog(DDCharacter chara) {
|
|
|
GridBagLayout gridBagLayout = new GridBagLayout();
|
|
|
gridBagLayout.columnWidths = new int[]{0, 0};
|
|
|
@@ -113,9 +95,5 @@ public class LevelUpDialog extends JPanel {
|
|
|
revalidate();
|
|
|
repaint();
|
|
|
((JDialog) this.getParent().getParent().getParent()).pack();
|
|
|
- }
|
|
|
-
|
|
|
- private static int experienceForLevel(int level) {
|
|
|
- return 500 * level * (level + 1);
|
|
|
- }
|
|
|
+ }
|
|
|
}
|