Skip to content

Commit

Permalink
Merge pull request #37 from theHoncho/master
Browse files Browse the repository at this point in the history
Fix for Issue #36
  • Loading branch information
Karlovsky120 authored Jul 4, 2018
2 parents 7c94b66 + aa842d4 commit 0bd0efd
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 15 deletions.
1 change: 1 addition & 0 deletions 7DaysProfileEditor/source/Skills/SkillData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ namespace SevenDaysProfileEditor.Skills {
internal class SkillData {
public static int expToLevelDefault;
public static int expToPlayerLevel;
public static double experienceMultiplier;
public static int maxLevelDefault;
public static int maxPlayerLevel;
public static List<SkillData> skillList = new List<SkillData>();
Expand Down
31 changes: 16 additions & 15 deletions 7DaysProfileEditor/source/Skills/SkillsTab.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ namespace SevenDaysProfileEditor.Skills {
/// <summary>
/// Tab for dealing with skills.
/// </summary>
internal class SkillsTab : TabPage, IValueListener<int>, IValueListener<uint> {
internal class SkillsTab : TabPage, IValueListener<int>{
private bool locked;
private TableLayoutPanel panel;
private PlayerDataFile playerDataFile;
Expand All @@ -35,20 +35,19 @@ public SkillsTab(PlayerDataFile playerDataFile, List<RecipeBinder> recipes) {
panel.Dock = DockStyle.Fill;

TableLayoutPanel general = new TableLayoutPanel() {
Size = new Size(478, 36),
Size = new Size(550, 36),
Anchor = AnchorStyles.Top
};

LabeledControl LabeledPlayerLevelBox = new LabeledControl("Player level", new NumericTextBox<int>(playerDataFile.level, 1, SkillData.maxPlayerLevel, 80), 150);
LabeledControl LabeledPlayerLevelBox = new LabeledControl("Player level", new NumericTextBox<int>(playerDataFile.level, 1, SkillData.maxPlayerLevel, 60), 150);
playerDataFile.level.AddListener(this);
general.Controls.Add(LabeledPlayerLevelBox, 0, 0);

LabeledControl LabeledSkillPointsBox = new LabeledControl("Skill points", new NumericTextBox<int>(playerDataFile.skillPoints, 0, int.MaxValue, 80), 150);
LabeledControl LabeledSkillPointsBox = new LabeledControl("Skill points", new NumericTextBox<int>(playerDataFile.skillPoints, 0, int.MaxValue, 60), 150);
general.Controls.Add(LabeledSkillPointsBox, 1, 0);

LabeledControl LabeledExperienceBox = new LabeledControl("Experience", new NumericTextBox<uint>(playerDataFile.experience, 0u, (uint)(SkillData.expToPlayerLevel * SkillData.maxPlayerLevel), 80), 150);
playerDataFile.experience.AddListener(this);
general.Controls.Add(LabeledExperienceBox, 2, 0);
LabeledControl LabeledExpToNextLevelBox = new LabeledControl("Exp to next level", new NumericTextBox<uint>(playerDataFile.experience, 0u, (uint)(SkillData.expToPlayerLevel * SkillData.maxPlayerLevel), 60), 175);
general.Controls.Add(LabeledExpToNextLevelBox, 2, 0);

panel.Controls.Add(general);

Expand Down Expand Up @@ -104,7 +103,7 @@ public SkillsTab(PlayerDataFile playerDataFile, List<RecipeBinder> recipes) {
public void ValueUpdated(Value<int> source) {
if (!locked) {
locked = true;
playerDataFile.experience.Set((uint)(source.Get() * SkillData.expToPlayerLevel));
playerDataFile.experience.Set((uint)(SkillData.expToPlayerLevel * System.Math.Pow(SkillData.experienceMultiplier, source.Get())));
locked = false;
}
}
Expand All @@ -113,13 +112,15 @@ public void ValueUpdated(Value<int> source) {
/// Updates player level based on experience.
/// </summary>
/// <param name="source"></param>
public void ValueUpdated(Value<uint> source) {
if (!locked) {
locked = true;
playerDataFile.level.Set((int)source.Get() / SkillData.expToPlayerLevel);
locked = false;
}
}

// This does not return the correct value, complicated maths involved.
//public void ValueUpdated(Value<uint> source) {
// if (!locked) {
// locked = true;
// playerDataFile.level.Set((int)source.Get() / SkillData.expToPlayerLevel);
// locked = false;
// }
//}

/// <summary>
/// Sets up skills for editing.
Expand Down

0 comments on commit 0bd0efd

Please sign in to comment.